Azure Data Factory ve Synapse Analytics'te ORC biçimi

ŞUNLARA UYGULANIR: Azure Data Factory Azure Synapse Analytics

İpucu

Microsoft Fabric'daki Data Factory, daha basit bir mimariye, yerleşik yapay zekaya ve yeni özelliklere sahip yeni nesil Azure Data Factory. Veri tümleştirmeyi yeni kullanmaya başladıysanız data factory Fabric ile başlayın. Mevcut ADF iş yükleri veri bilimi, gerçek zamanlı analiz ve raporlama genelinde yeni özelliklere erişmek için Fabric yükseltebilir.

ORC dosyalarını ayrıştırmak veya verileri ORC biçiminde yazmak istediğinizde bu makaleyi izleyin.

ORC biçimi şu bağlayıcılar için desteklenir: Amazon S3, Amazon S3 Uyumlu Depolama, Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure Files, File System, FTP, Google Cloud Storage, HDFS, HTTP, Oracle Cloud Storage ve SFTP.

Veri kümesi özellikleri

Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için Veri kümeleri makalesine bakın. Bu bölümde, ORC veri kümesi tarafından desteklenen özelliklerin listesi sağlanır.

Özellik Açıklama Gerekli
Tür Veri kümesinin type özelliği Orc olarak ayarlanmalıdır. Yes
konum Dosya konum ayarları. Her dosya tabanlı bağlayıcının kendi konum türü ve altında locationdesteklenen özellikleri vardır. Bağlayıcı makalesi -> Veri kümesi özellikleri bölümündeki ayrıntılara bakın. Yes
compressionCodec ORC dosyalarına yazarken kullanılacak sıkıştırma codec bileşeni. ORC dosyalarından okurken, Veri Fabrikaları dosya meta verilerini temel alarak sıkıştırma codec'ini otomatik olarak belirler.
Desteklenen türler hiçbiri, zlib, snappy (varsayılan) ve lzo'dır. Şu anda Copy activity ORC dosyalarını okurken/yazarken LZO'yu desteklemez.
Hayır

Aşağıda Azure Blob Storage'de ORC veri kümesi örneği verilmiştir:

{
    "name": "OrcDataset",
    "properties": {
        "type": "Orc",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, retrievable during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "container": "containername",
                "folderPath": "folder/subfolder",
            }
        }
    }
}

Aaşağıdaki noktaları unutmayın:

  • Karmaşık veri türleri (örneğin MAP, LIST, STRUCT) şu anda kopyalama etkinliğinde değil yalnızca Veri Akışı'lerde desteklenmektedir. Veri akışlarında karmaşık türler kullanmak için, veri kümesinde şemayı boş bırakarak veri kümesindeki dosya şemasını içeri aktarmayın. Ardından Kaynak dönüşümünde projeksiyonu içeri aktarın.
  • Sütun adında boşluk desteklenmiyor.

Copy activity özellikleri

Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için İşlem hatları makalesine bakın. Bu bölüm, ORC kaynağı ve havuzu tarafından desteklenen özelliklerin listesini sağlar.

Kaynak olarak ORC

Kopyalama etkinliği *kaynak* bölümünde aşağıdaki özellikler desteklenir.

Özellik Açıklama Gerekli
Tür Kopyalama etkinliği kaynağının type özelliği OrcSource olarak ayarlanmalıdır. Yes
storeSettings Veri deposundan veri okuma hakkında bir özellik grubu. Her dosya tabanlı bağlayıcının altında storeSettingskendi desteklenen okuma ayarları vardır. Ekleyici makalesi -> Copy activity properties section ayrıntıları görüntüleyin. Hayır

Havuz olarak ORC

Kopyalama etkinliği *havuz* bölümünde aşağıdaki özellikler desteklenir.

Özellik Açıklama Gerekli
Tür Kopyalama etkinliği havuzu type özelliği OrcSink olarak ayarlanmalıdır. Yes
formatSettings Bir özellik grubu. Aşağıdaki ORC yazma ayarları tablosuna bakın. Hayır
storeSettings Veri deposuna veri yazma hakkında bir özellik grubu. Her dosya tabanlı bağlayıcının altında storeSettingskendi desteklenen yazma ayarları vardır. Ekleyici makalesi -> Copy activity properties section ayrıntıları görüntüleyin. Hayır

altında desteklenen formatSettings:

Özellik Açıklama Gerekli
Tür formatSettings türü OrcWriteSettings olarak ayarlanmalıdır. Yes
maxRowsPerFile Bir klasöre veri yazarken, birden çok dosyaya yazmayı ve dosya başına en fazla satırı belirtmeyi seçebilirsiniz. Hayır
fileNamePrefix Yapılandırıldığında maxRowsPerFile geçerlidir.
Birden çok dosyaya veri yazarken dosya adı ön ekini belirtin; bunun sonucunda şu desen elde edilir: <fileNamePrefix>_00000.<fileExtension>. Belirtilmezse, dosya adı ön eki otomatik olarak oluşturulur. Bu özellik, kaynak dosya tabanlı depo veya bölüm seçeneği etkin veri deposu olduğunda geçerli değildir.
Hayır

Eşleme veri akışı özellikleri

Eşleme veri akışlarında, şu veri depolarında ORC biçimini okuyabilir ve yazabilirsiniz: Azure Blob Storage, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2 ve SFTP ve ORC biçimini Amazon S3 olarak okuyabilirsiniz.

ORC veri kümesini veya satır içi veri kümesini kullanarak ORC dosyalarına işaret edebilirsiniz.

Kaynak özellikleri

Aşağıdaki tabloda ORC kaynağı tarafından desteklenen özellikler listelenmektedir. Bu özellikleri Kaynak seçenekleri sekmesinde düzenleyebilirsiniz.

Satır içi veri kümesini kullanırken, veri kümesi özellikleri bölümünde açıklanan özelliklerle aynı olan ek dosya ayarlarını görürsünüz.

Veri Akışı Adı Açıklama Gerekli İzin verilen değerler Veri akışı betiği özelliği
Biçimlendir Biçim şu şekilde olmalıdır: orc evet orc format
Joker karakter yolları Joker karakter yoluyla eşleşen tüm dosyalar işlenir. Veri kümesinde ayarlanan klasörü ve dosya yolunu geçersiz kılar. hayır Dize[] joker karakterler
Bölüm kök yolu Bölümlenmiş dosya verileri için bölümlenmiş klasörleri sütun olarak okumak için bir bölüm kök yolu girebilirsiniz hayır String partitionRootPath
Dosya listesi Kaynağınızın işlenmek üzere dosyaları listeleyen bir metin dosyasına işaret edip etmediği hayır true veya false fileList
Dosya adını depolamak için sütun Kaynak dosya adı ve yolu ile yeni bir sütun oluşturma hayır String rowUrlColumn
Tamamlandıktan sonra İşlemden sonra dosyaları silin veya taşıyın. Dosya yolu kapsayıcı kökünden başlar hayır Sil: true veya false
Hareket etmek: [<from>, <to>]
purgeFiles
moveFiles
Son değiştirme ölçütüne göre filtrele Dosyaları son değiştirilme zamanlarına göre filtrelemeyi seçin hayır Zaman damgası modifiedAfter
modifiedBefore
Dosya bulunamadığında izin ver True ise, hiçbir dosya bulunamazsa hata oluşmaz hayır true veya false ignoreNoFilesFound

Kaynak örneği

ORC kaynak yapılandırmasının ilişkili veri akışı betiği:

source(allowSchemaDrift: true,
    validateSchema: false,
    rowUrlColumn: 'fileName',
    format: 'orc') ~> OrcSource

Havuz özellikleri

Aşağıdaki tabloda ORC havuzu tarafından desteklenen özellikler listelenmiştir. Bu özellikleri Ayarlar sekmesinde düzenleyebilirsiniz.

Satır içi veri kümesini kullanırken, veri kümesi özellikleri bölümünde açıklanan özelliklerle aynı olan ek dosya ayarlarını görürsünüz.

Veri Akışı Adı Açıklama Gerekli İzin verilen değerler Veri akışı betiği özelliği
Biçimlendir Biçim şu şekilde olmalıdır: orc evet orc format
Klasörü temizleme Hedef klasör yazmadan önce temizlenirse hayır true veya false truncate
Dosya adı seçeneği Yazılan verilerin adlandırma biçimi. Varsayılan olarak, bölüm başına bir dosya biçimindedir part-#####-tid-<guid> hayır Desen: Dize
Bölüm başına: Dize[]
Sütunda veri olarak: Dize
Tek bir dosyaya çıkış: ['<fileName>']
filePattern
partitionFileNames
rowUrlColumn
partitionFileNames

Havuz örneği

ORC havuz yapılandırmasının ilişkili veri akışı betiği şöyledir:

OrcSource sink(
    format: 'orc',
    filePattern:'output[n].orc',
    truncate: true,
    allowSchemaDrift: true,
    validateSchema: false,
    skipDuplicateMapInputs: true,
    skipDuplicateMapOutputs: true) ~> OrcSink

Şirket içinde barındırılan Integration Runtime kullanma

Önemli

ORC dosyalarını as-is kopyalamadıysanız şirket içi ve bulut veri depoları arasında şirket içinde barındırılan Integration Runtime tarafından güçlendirilen kopyalama için, IR makinenize 64 bit JRE 8 (Java Çalışma Zamanı Ortamı) veya OpenJDK ve Microsoft Visual C++ 2010 Yeniden Dağıtılabilir Paketi yüklemeniz gerekir. Daha fazla ayrıntı içeren aşağıdaki paragrafı denetleyin.

ORC dosya serileştirme/seri durumdan çıkarma ile şirket içinde barındırılan IR'de çalışan kopyalama için hizmet, ilk olarak JRE için kayıt defteri (SOFTWARE\JavaSoft\Java Runtime Environment\{Current Version}\JavaHome) denetleyerek Java çalışma zamanını bulur, bulunamazsa ikinci olarak OpenJDK için JAVA_HOME sistem değişkenini denetler.

  • JRE'yi kullanmak için: 64 bit IR için 64 bit JRE gerekir. Buradan bulabilirsiniz.
  • OpenJDK'yi kullanmak için: IR sürüm 3.13'ten bu yana desteklenir. jvm.dll OpenJDK'nin diğer tüm gerekli derlemeleriyle şirket içinde barındırılan IR makinesine paketleyin ve sistem ortamı değişkenini buna göre JAVA_HOME ayarlayın.
  • Visual C++ 2010 Yeniden Dağıtılabilir Paketi yüklemek için: Visual C++ 2010 Yeniden Dağıtılabilir Paketi şirket içinde barındırılan IR yüklemeleriyle yüklenmez. Buradan bulabilirsiniz.

İpucu

Şirket içinde barındırılan Integration Runtime kullanarak ORC biçiminden/biçiminden veri kopyalarsanız ve "java çağrılırken bir hata oluştu, ileti: java.lang. OutOfMemoryError:Java yığın alanı", şirket içinde barındırılan IR'yi barındıran makineye _JAVA_OPTIONS ortam değişkeni ekleyerek JVM'nin bu kopyayı güçlendirmesi için en küçük/en yüksek yığın boyutunu ayarlayabilir ve ardından işlem hattını yeniden çalıştırabilirsiniz.

Şirket içinde barındırılan IR'de JVM yığın boyutunu ayarlama

Örnek: değeriyle _JAVA_OPTIONSdeğişken -Xms256m -Xmx16g ayarlama. Xms bayrağı, Java Sanal Makinesi (JVM) için ilk bellek ayırma havuzunu belirtirken, Xmx en yüksek bellek ayırma havuzunu belirtir. Bu, JVM'nin bellek miktarıyla Xms başlatılacağı ve en fazla Xmx bellek miktarını kullanabileceği anlamına gelir. Varsayılan olarak hizmet en az 64 MB ve en fazla 1G kullanır.