Azure Data Factory ve Azure Synapse Analytics'te Excel dosya biçimi

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

Bahşiş

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!

Excel dosyalarını ayrıştırmak istediğinizde bu makaleyi izleyin. Hizmet hem ".xls" hem de ".xlsx" desteği sunar.

Excel biçimi şu bağlayıcılar için desteklenir: Amazon S3, Amazon S3 Uyumlu Depolama, Azure Blob, Azure Data Lake Storage 1. Nesil, Azure Data Lake Storage 2. Nesil, Azure Dosyalar, Dosya Sistemi, FTP, Google Cloud Depolama, HDFS, HTTP, Oracle Cloud Depolama ve SFTP. Kaynak olarak desteklenir ancak havuz olarak desteklenmez.

Dekont

HTTP kullanılırken ".xls" biçimi desteklenmez.

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, Excel veri kümesi tarafından desteklenen özelliklerin listesi sağlanır.

Özellik Açıklama Gerekli
type Veri kümesinin tür özelliği Excel olarak ayarlanmalıdır. Evet
konum Dosya konum ayarları. Her dosya tabanlı bağlayıcının kendi konum türü ve altında locationdesteklenen özellikleri vardır. Evet
sheetName Verileri okumak için Excel çalışma sayfası adı. veya belirtin sheetNamesheetIndex
sheetIndex 0'dan başlayarak verileri okumak için Excel çalışma sayfası dizini. veya belirtin sheetNamesheetIndex
aralık Seçmeli verileri bulmak için verilen çalışma sayfasındaki hücre aralığı; örneğin:
- Belirtilmemiş: çalışma sayfasının tamamını ilk boş olmayan satırdan ve sütundan tablo olarak okur
- A3: verilen hücreden başlayan bir tabloyu okur, aşağıdaki tüm satırları ve sağdaki tüm sütunları dinamik olarak algılar
- A3:H5: bu sabit aralığı tablo olarak okur
- A3:A3: bu tek hücreyi okur
No
firstRowAsHeader Verilen çalışma sayfasındaki/aralıktaki ilk satırın sütun adları içeren bir üst bilgi satırı olarak işlenip ele alınmayacağını belirtir.
İzin verilen değerler true ve false (varsayılan) değerleridir.
No
nullValue Null değerin dize gösterimini belirtir.
Varsayılan değer boş dizedir.
No
sıkıştırma Dosya sıkıştırmayı yapılandırmak için özellikler grubu. Etkinlik yürütme sırasında sıkıştırma/sıkıştırmayı açmak istediğinizde bu bölümü yapılandırın. No
type
(altında compression)
JSON dosyalarını okumak/yazmak için kullanılan sıkıştırma codec bileşeni.
İzin verilen değerler bzip2, gzip, deflate, ZipDeflate, TarGzip, Tar, snappy veya lz4 değerleridir. Varsayılan olarak sıkıştırılmaz.
Şu anda Kopyalama etkinliği "snappy" & "lz4" ve eşleme veri akışının "ZipDeflate", "TarGzip" ve "Tar" desteği olmadığını unutmayın.
ZipDeflate dosyalarının sıkıştırmasını açmak ve dosya tabanlı havuz veri deposuna yazmak için kopyalama etkinliğini kullanırken dosyalar şu klasöre ayıklanır: <path specified in dataset>/<folder named as source zip file>/.
Hayır.
düzey
(altında compression)
Sıkıştırma oranı.
İzin verilen değerler En uygun veya en hızlı değerlerdir.
- En hızlı: Elde edilen dosya en iyi şekilde sıkıştırılmasa bile sıkıştırma işlemi mümkün olan en hızlı şekilde tamamlanmalıdır.
- En uygun: İşlemin tamamlanması daha uzun sürse bile sıkıştırma işlemi en iyi şekilde sıkıştırılmalıdır. Daha fazla bilgi için Bkz . Sıkıştırma Düzeyi konusu.
No

Aşağıda Azure Blob Depolama excel veri kümesi örneği verilmiştir:

{
    "name": "ExcelDataset",
    "properties": {
        "type": "Excel",
        "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",
            },
            "sheetName": "MyWorksheet",
            "range": "A3:H5",
            "firstRowAsHeader": true
        }
    }
}

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, Excel kaynağı tarafından desteklenen özelliklerin listesi sağlanır.

Kaynak olarak Excel

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

Özellik Açıklama Gerekli
type Kopyalama etkinliği kaynağının type özelliği ExcelSource olarak ayarlanmalıdır. Evet
mağaza Ayarlar 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. No
"activities": [
    {
        "name": "CopyFromExcel",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "ExcelSource",
                "storeSettings": {
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true
                }
            },
            ...
        }
        ...
    }
]

Eşleme veri akışı özellikleri

Veri akışlarını eşlemede şu veri depolarında Excel biçimini okuyabilirsiniz: Azure Blob Depolama, Azure Data Lake Storage 1. Nesil, Azure Data Lake Storage 2. Nesil, Amazon S3 ve SFTP. Excel veri kümesini veya satır içi veri kümesini kullanarak Excel dosyalarını işaret edebilirsiniz.

Kaynak özellikleri

Aşağıdaki tabloda, bir Excel 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.

Adı Açıklama Gerekli İzin verilen değerler Veri akışı betiği özelliği
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: ['<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ü, veri kümesi modunu kullanarak veri akışlarını eşlemede bir Excel kaynak yapılandırması örneğidir.

Excel source

İlişkili veri akışı betiği:

source(allowSchemaDrift: true,
    validateSchema: false,
    wildcardPaths:['*.xls']) ~> ExcelSource

Satır içi veri kümesi kullanıyorsanız eşleme veri akışında aşağıdaki kaynak seçeneklerini görürsünüz.

Excel source inline dataset

İlişkili veri akışı betiği:

source(allowSchemaDrift: true,
    validateSchema: false,
    format: 'excel',
    fileSystem: 'container',
    folderPath: 'path',
    fileName: 'sample.xls',
    sheetName: 'worksheet',
    firstRowAsHeader: true) ~> ExcelSourceInlineDataset

Çok büyük Excel dosyalarını işleme

Excel bağlayıcısı, Kopyalama etkinliği için akış okumayı desteklemez ve verilerin okunabilmesi için dosyanın tamamını belleğe yüklemesi gerekir. Şemayı içeri aktarmak, verileri önizlemek veya bir Excel veri kümesini yenilemek için verilerin http isteği zaman aşımından (100'ler) önce döndürülmelidir. Büyük Excel dosyalarında bu işlemler bu zaman çerçevesi içinde bitmeyebilir ve zaman aşımı hatasına neden olabilir. Büyük Excel dosyalarını (>100 MB) başka bir veri deposuna taşımak istiyorsanız, bu sınırlamayı geçici olarak çözmek için aşağıdaki seçeneklerden birini kullanabilirsiniz:

  • Şirket içinde barındırılan tümleştirme çalışma zamanını (SHIR) kullanın, ardından büyük Excel dosyasını SHIR ile başka bir veri deposuna taşımak için Kopyalama etkinliği kullanın.
  • Büyük Excel dosyasını birkaç küçük dosyaya bölün, ardından dosyaları içeren klasörü taşımak için Kopyalama etkinliği kullanın.
  • Büyük Excel dosyasını başka bir veri deposuna taşımak için bir veri akışı etkinliği kullanın. Veri akışı, Excel için okuma akışını destekler ve büyük dosyaları hızla taşıyabilir/aktarabilir.
  • Büyük Excel dosyasını el ile CSV biçimine dönüştürün, ardından dosyayı taşımak için bir Kopyalama etkinliği kullanın.