Azure Data Factory ve Azure Synapse Analytics'te parquet biçimi
UYGULANANLAR: Azure Data Factory
Azure Synapse Analytics
İpucu
Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!
Parquet dosyalarını ayrıştırmak veya verileri Parquet biçiminde yazmak istediğinizde bu makaleyi izleyin.
Parquet biçimi aşağıdaki bağlayıcılar için desteklenir:
- Amazon S3
- Amazon S3 Uyumlu Depolama
- Azure Blob
- Azure Data Lake Storage Gen1
- Azure Data Lake Storage 2. Nesil
- Azure Dosyaları
- Dosya Sistemi
- FTP
- Google Cloud Storage
- HDFS
- HTTP
- Oracle Cloud Storage
- SFTP
Kullanılabilir tüm bağlayıcılar için desteklenen özelliklerin listesi için Bağlayıcılara Genel Bakış makalesini ziyaret edin.
Şirket İçinde Barındırılan Tümleştirme Çalışma Zamanını Kullanma
Önemli
Ş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, Parquet dosyalarını olduğu gibi kopyalamıyorsanız, IR makinenize 64 bit JRE 8 (Java Çalışma Zamanı Ortamı), JDK 23 (Java Geliştirme Seti) veya OpenJDK yüklemeniz gerekir. Daha fazla ayrıntı içeren aşağıdaki paragrafı denetleyin.
Parquet dosya serileştirme/seri durumdan çıkarma ile Şirket içinde barındırılan IR üzerinde çalışan kopyalama için hizmet, önce JRE için kayıt defterini (SOFTWARE\JavaSoft\Java Runtime Environment\{Current Version}\JavaHome)
denetleyerek Java çalışma zamanını bulur, bulunamazsa ikinci olarak OpenJDK için sistem değişkenini JAVA_HOME
denetler.
- JRE'yi kullanmak için: 64 bit IR için 64 bit JRE gerekir. Buradan bulabilirsiniz.
-
JDK kullanmak için: 64 ama IR için 64 bit JDK 23 gerekir. Buradan bulabilirsiniz. Sistem değişkenini
JAVA_HOME
JDK 23 yüklemesininC:\Program Files\Java\jdk-23
kök klasörüne güncelleştirip sistem değişkenine hem veC:\Program Files\Java\jdk-23\bin\server
klasörlerininC:\Program Files\Java\jdk-23\bin
yolunu eklediğinizdenPath
emin olun. - 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 JAVA_HOME uygun şekilde ayarlayın ve ardından şirket içinde barındırılan IR'yi hemen geçerlilik kazanmaları için yeniden başlatın. OpenJDK'nin Microsoft Derlemesini indirmek için bkz . OpenJDK'nin™ Microsoft Derlemesi.
İpucu
Şirket İçinde Barındırılan Tümleştirme Çalışma Zamanı'nı kullanarak Parquet biçiminden veri kopyalayıp "Java çağrılırken bir hata oluştu, ileti: java.lang.OutOfMemoryError:Java yığın alanı" hatasıyla karşılaşırsanız, şirket içinde barındırılan IR'yi barındıran makineye JVM'nin bu kopyayı güçlendirmek için en küçük/en büyük yığın boyutunu ayarlamak üzere bir ortam değişkeni _JAVA_OPTIONS
ekleyebilir ve ardından işlem hattını yeniden çalıştırabilirsiniz.
Örnek: değeriyle -Xms256m -Xmx16g
değişken _JAVA_OPTIONS
ayarlama. bayrağı Xms
bir 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.
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, Parquet veri kümesi tarafından desteklenen özelliklerin listesi sağlanır.
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Veri kümesinin type özelliği Parquet olarak ayarlanmalıdır. | Yes |
konum | Dosya konum ayarları. Her dosya tabanlı bağlayıcının kendi konum türü ve altında location desteklenen özellikleri vardır.
Bağlayıcı makalesi -> Veri kümesi özellikleri bölümündeki ayrıntılara bakın. |
Yes |
compressionCodec | Parquet dosyalarına yazarken kullanılacak sıkıştırma codec bileşeni. Parquet dosyalarından okurken, Veri Fabrikaları dosya meta verilerine göre sıkıştırma codec'ini otomatik olarak belirler. Desteklenen türler şunlardır: "none", "gzip", "snappy" (varsayılan) ve "lzo". Şu anda Kopyalama etkinliği Parquet dosyalarını okurken/yazarken LZO'yu desteklemez. |
Hayır |
Not
Parquet dosyaları için sütun adında boşluk desteklenmez.
Aşağıda Azure Blob Depolama parquet veri kümesi örneği verilmiştir:
{
"name": "ParquetDataset",
"properties": {
"type": "Parquet",
"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",
},
"compressionCodec": "snappy"
}
}
}
Kopyalama etkinliğinin ö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ümde, Parquet kaynağı ve havuzu tarafından desteklenen özelliklerin listesi sağlanır.
Kaynak olarak Parquet
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 ParquetSource 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 storeSettings kendi desteklenen okuma ayarları vardır.
Bağlayıcı makalesi -> Kopyalama etkinliği özellikleri bölümündeki ayrıntılara bakın. |
Hayır |
Havuz olarak Parquet
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 ParquetSink olarak ayarlanmalıdır. | Yes |
formatSettings | Bir özellik grubu. Aşağıdaki Parquet 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 storeSettings kendi desteklenen yazma ayarları vardır.
Bağlayıcı makalesi -> Kopyalama etkinliği özellikleri bölümündeki ayrıntılara bakın. |
Hayır |
altında formatSettings
Desteklenen Parquet yazma ayarları:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | formatSettings türü ParquetWriteSettings 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
Veri akışlarını eşlemede, şu veri depolarında parquet biçiminde okuyup yazabilirsiniz: Azure Blob Depolama, Azure Data Lake Storage 1. Nesil, Azure Data Lake Storage 2. Nesil ve SFTP; Amazon S3'te parquet biçimini okuyabilirsiniz öğesini seçin.
Kaynak özellikleri
Aşağıdaki tabloda, bir parquet kaynağı tarafından desteklenen özellikler listelenmektedir. Bu özellikleri Kaynak seçenekleri sekmesinde düzenleyebilirsiniz.
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: parquet |
evet | parquet |
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
Aşağıdaki görüntü, eşleme veri akışlarında bir parquet kaynak yapılandırması örneğidir.
İlişkili veri akışı betiği:
source(allowSchemaDrift: true,
validateSchema: false,
rowUrlColumn: 'fileName',
format: 'parquet') ~> ParquetSource
Havuz özellikleri
Aşağıdaki tabloda bir parquet havuzu tarafından desteklenen özellikler listelenmektedir. Bu özellikleri Ayarlar sekmesinde düzenleyebilirsiniz.
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: parquet |
evet | parquet |
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
Aşağıdaki görüntü, veri akışlarını eşlemede bir parquet havuzu yapılandırması örneğidir.
İlişkili veri akışı betiği:
ParquetSource sink(
format: 'parquet',
filePattern:'output[n].parquet',
truncate: true,
allowSchemaDrift: true,
validateSchema: false,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> ParquetSink
Veri türü desteği
Parquet 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.