次の方法で共有


Azure Data FactoryとAzure Synapse AnalyticsにおけるExcelファイル形式

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

Data Factory in Microsoft Fabric は、よりシンプルなアーキテクチャ、組み込みの AI、および新機能を備えた次世代のAzure Data Factoryです。 データ統合を初めて使用する場合は、Fabric Data Factory から始めます。 既存の ADF ワークロードをFabricにアップグレードして、データ サイエンス、リアルタイム分析、レポートの新機能にアクセスできます。

Excel ファイルを解析する場合は、この記事に従ってください。 このサービスは ".xls" と ".xlsx" の両方に対応しています。

Excel形式は、次のコネクタでサポートされています: Amazon S3Azure BlobAzure Data Lake Storage Gen1Azure Data Lake Storage Gen2Azure FilesFile SystemFTPGoogle Cloud StorageHDFSHTTPOracle Cloud Storage および SFTP。 これはソースとしてはサポートされていますが、シンクとしてはサポートされていません。

注記

".xls" 形式は、HTTP の使用中にはサポートされません。

データセットのプロパティ

データセットを定義するために使用できるセクションとプロパティの完全な一覧については、データセットに関する記事をご覧ください。 このセクションでは、Excel データセットでサポートされるプロパティの一覧を示します。

プロパティ 内容 必須
データセットの type プロパティは、Excelに設定する必要があります。 はい
位置 ファイルの場所の設定。 ファイル ベースの各コネクタには、固有の場所の種類と location でサポートされるプロパティがあります。 はい
シート名 データを読み取るExcelワークシート名。 sheetName または sheetIndex を指定します
シートインデックス 0 から始まる、データを読み取るExcelワークシートのインデックス。 sheetName または sheetIndex を指定します
範囲 特定のワークシート内で選択データを見つけるセル範囲。例:
- 指定なし: 空ではない最初の行と列からワークシート全体を表として読み取ります
- A3: 特定のセルから始まる表を読み取り、下にあるすべての行と右にあるすべての列を動的に検出します
- A3:H5: この固定範囲を表として読み取ります
- A3:A3: この単一セルを読み取ります
いいえ
最初の行をヘッダーとして使用 指定したワークシート (または範囲) 内の先頭行を、列名を含んだヘッダー行として扱うかどうかを指定します。
使用できる値は truefalse (既定値) です。
いいえ
nullValue null 値の文字列表現を指定します。
既定値は空の文字列です。
いいえ
圧縮 ファイル圧縮を構成するためのプロパティのグループ。 アクティビティの実行中に圧縮/圧縮解除を行う場合は、このセクションを構成します。 いいえ

( compression の下にあります)
JSON ファイルの読み取り/書き込みに使用される圧縮コーデックです。
使用できる値は、bzip2gzipdeflateZipDeflateTarGzipTarsnappy、または lz4 です。 既定では圧縮されません。
Note現在Copy アクティビティでは "snappy" と "lz4" はサポートされていません。マッピング データ フローでは "ZipDeflate"、"TarGzip"、"Tar" はサポートされていません。
コピー アクティビティを使用して ZipDeflate ファイルを展開し、ファイルベースのシンク データ ストアに書き込む場合、ファイルは のフォルダーに抽出されることに注意してください。
いいえ。
レベル
( compression の下にあります)
圧縮率です。
使用できる値は、Optimal または Fastest です。
- 最速: 圧縮操作は可能な限り短時間で完了しますが、生成ファイルが最適に圧縮されない場合があります。
- Optimal:圧縮操作で最適に圧縮されますが、操作が完了するまでに時間がかかる場合があります。 詳細については、 圧縮レベル に関するトピックをご覧ください。
いいえ

次に、Azure Blob StorageのデータセットExcel例を示します。

{
    "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
        }
    }
}

Copy アクティビティ のプロパティ

アクティビティの定義に利用できるセクションとプロパティの完全な一覧については、パイプラインに関する記事を参照してください。 このセクションでは、Excel ソースでサポートされるプロパティの一覧を示します。

ソースとしてのExcel

Copy アクティビティの *source* セクションでは、次のプロパティがサポートされます。

プロパティ 内容 必須
コピー アクティビティのソースの type プロパティを ExcelSource に設定する必要があります。 はい
ストア設定 データ ストアからデータを読み取る方法を指定するプロパティのグループ。 ファイル ベースの各コネクタには、storeSettings に、固有のサポートされる読み取り設定があります。 いいえ
"activities": [
    {
        "name": "CopyFromExcel",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "ExcelSource",
                "storeSettings": {
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true
                }
            },
            ...
        }
        ...
    }
]

データフローのプロパティのマッピング

マッピング データ フローでは、Excel形式を次のデータ ストアで読み取ることができます:Azure Blob StorageAzure Data Lake Storage Gen1Azure Data Lake Storage Gen2 Amazon S3 および SFTP。 Excel データセットを使用するか、inline データセットを使用してExcelファイルをポイントできます。

ソースのプロパティ

次の表に、Excel ソースでサポートされるプロパティを示します。 これらのプロパティは、[ソース オプション] タブで編集できます。インライン データセットを使用する場合は追加のファイル設定が表示されます。これは、「データセットのプロパティ」セクションで説明したプロパティと同じものです。

名前 内容 必須 使用できる値 データ フロー スクリプトのプロパティ
Wild card paths (ワイルドカード パス) ワイルドカードのパスに一致するすべてのファイルが処理されます。 データセットで設定されているフォルダーとファイル パスはオーバーライドされます。 いいえ String[] wildcardPaths
パーティションのルート パス パーティション分割されたファイル データについては、パーティション フォルダーを列として読み取るためにパーティションのルート パスを入力できます いいえ ストリング パーティションルートパス (partitionRootPath)
ファイルの一覧 処理するファイルを一覧表示しているテキスト ファイルをソースが指しているかどうか いいえ true または false ファイルリスト
ファイル名を格納する列 ソース ファイル名とパスを使用して新しい列を作成します いいえ ストリング rowUrlColumn
完了後 処理後にファイルを削除または移動します。 ファイル パスはコンテナー ルートから始まります いいえ 削除: true または false
移動: ['<from>', '<to>']
ファイルを消去
moveFiles
最終更新日でフィルターする 最後に変更された日時に基づいてファイルをフィルター処理する場合に選択 いいえ タイムスタンプ modifiedAfter
modifiedBefore
ファイルが見つからないことを許可する true のとき、ファイルが見つからなくてもエラーは発生しません。 いいえ true または false ファイルが見つからない場合は無視

ソースの例

次の図は、データセット モードを使用したマッピング データ フローでのExcelソース構成の例です。

Excel source

関連付けられているデータ フロー スクリプトは次のとおりです。

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

インライン データセットを使用する場合、マッピング データ フローに次のソース オプションが表示されます。

Excel ソース インライン データセット

関連付けられているデータ フロー スクリプトは次のとおりです。

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

注記

マッピング データ フローでは、保護されたExcel ファイルの読み取りはサポートされていません。これらのファイルには機密性の通知が含まれている場合や、コンテンツへのアクセスを制限する特定のアクセス制限が適用される場合があるためです。

非常に大きなExcel ファイルの処理

Excel コネクタはCopy アクティビティのストリーミング読み取りをサポートしていないため、データを読み取る前にファイル全体をメモリに読み込む必要があります。 スキーマのインポート、データのプレビュー、またはExcel データセットの更新を行うには、http 要求タイムアウト (100 秒) の前にデータを返す必要があります。 大きなExcel ファイルの場合、これらの操作がその期間内に終了せず、タイムアウト エラーが発生する可能性があります。 大きなExcel ファイル (>100 MB) を別のデータ ストアに移動する場合は、次のいずれかのオプションを使用してこの制限を回避できます。

  • セルフホステッド統合ランタイム (SHIR) を使用し、Copy アクティビティを使用して、大きなExcel ファイルを SHIR を使用して別のデータ ストアに移動します。
  • 大きなExcel ファイルを複数の小さなファイルに分割し、Copy アクティビティを使用してファイルを含むフォルダーを移動します。
  • データフロー アクティビティを使用して、大きなExcel ファイルを別のデータ ストアに移動します。 データフローでは、Excelのストリーミング読み取りがサポートされ、大きなファイルをすばやく移動または転送できます。
  • 大きなExcel ファイルを CSV 形式に手動で変換し、Copy アクティビティを使用してファイルを移動します。