AWS Glue for Spark での入出力のデータ形式に関するオプション
これらのページでは、AWS Glue for Spark でサポートされているデータ形式の機能のサポートと設定パラメータについて説明します。この情報の使用と適用可能性の説明については、以下を参照してください。
AWS Glue でのデータ形式間の機能のサポート
各データ形式が、異なる AWS Glue の機能をサポートする場合があります。次の一般的な機能は、形式のタイプによってサポートされる場合とサポートされない場合があります。データ形式についてのドキュメントを参照し、当社の機能を活用して要件を満たす方法を理解してください。
読み取り | AWS Glue では、コネクタなどのリソースを追加することなく、データ形式を認識し解釈できます。 |
書き込み | AWS Glue では、リソースを追加することなく、この形式でデータを書き込むことができます。他の Spark 環境と同様に、サードパーティライブラリをジョブに含め、標準の Apache Spark 関数を使用してデータを書き込むことができます。ライブラリを含める方法の詳細については、「AWS Glue での Python ライブラリの使用」を参照してください。 |
ストリーミングの読み取り | AWS Glue は、Apache Kafka、Amazon Managed Streaming for Apache Kafka、または Amazon Kinesis メッセージストリームから、このデータ形式を認識して解釈できます。ストリームは一貫した形式でデータを表示することを想定しているため、DataFrames として読み込まれます。 |
小さなファイルのグループ化 | AWS Glue は、AWS Glue 変換を実行する際にファイルをグループ化し、各ノードに送信されるバッチを処理できます。これにより、大量の小さなファイルを扱うワークロードのパフォーマンスを大幅に向上できます。詳細については、「大きなグループの入力ファイルの読み取り」を参照してください。 |
ジョブのブックマーク | AWS Glue は、ジョブブックマークを使用して、ジョブの実行間で同じデータセットに対して同じ作業を実行する変換の進行状況を追跡できます。これにより、最後のジョブ実行以降の新しいデータに対してのみ作業を行う必要があるデータセットを含むワークロードのパフォーマンスを向上させることができます。詳細については、「ジョブのブックマークを使用した処理済みデータの追跡」を参照してください。 |
AWS Glue でデータ形式を操作するために使用されるパラメータ
特定の AWS Glue 接続タイプは複数の format
タイプをサポートしており、GlueContext.write_dynamic_frame.from_options
のようなメソッドを使用する場合は、format_options
オブジェクトを使用してデータ形式に関する情報を指定する必要があります。
-
s3
- 詳細については、AWS Glue: S3 接続パラメータ の「Connection types and options for ETL」(ETL の接続タイプとオプション) を参照してください。また、Python でのこの接続タイプを容易にするメソッド create_dynamic_frame_from_options および write_dynamic_frame_from_options と、対応する Scala メソッド def getSourceWithFormat および def getSinkWithFormat についてのドキュメントもご覧ください。 -
kinesis
- 詳細については、AWS Glue: Kinesis 接続パラメータ の「Connection types and options for ETL」(ETL の接続タイプとオプション) を参照してください。また、この接続タイプを容易にするメソッドについてのドキュメント: create_data_frame_from_options と、対応する Scala メソッド def createDataFrameFromOptions についてのドキュメントもご覧ください。 -
kafka
- 詳細については、AWS Glue: Kafka 接続パラメータ の「Connection types and options for ETL」(ETL の接続タイプとオプション) を参照してください。また、この接続タイプを容易にするメソッドについてのドキュメント: create_data_frame_from_options と、対応する Scala メソッド def createDataFrameFromOptions についてのドキュメントもご覧ください。
一部の接続タイプでは、format_options
は必要ありません。例えば、通常の使用においては、リレーショナルデータベースへの JDBC 接続では整合性のある表形式のデータ形式でデータを取得します。したがって、JDBC 接続からの読み取りでは、format_options
は必要ありません。
Glue でデータを読み書きする一部のメソッドでは、format_options
が必要です。例えば、AWS Glue クローラーで GlueContext.create_dynamic_frame.from_catalog
を使用します。クローラーによってデータの形式が決定されます。クローラーを使用する場合、AWS Glue 分類子がデータを調べ、データ形式を表す方法について賢く判断します。次に、データの表現を AWS Glue Data Catalog に保存します。これを AWS Glue ETL スクリプト内で使用し、GlueContext.create_dynamic_frame.from_catalog
メソッドによってデータを取得できます。クローラーを使用すると、データ形式に関する情報を手動で指定する必要がなくなります。
AWS Lake Formation government table にアクセスするジョブの場合、AWS Glue は Lake Formation のgovernment table でサポートされているすべてのフォーマットの読み書きをサポートします。現在サポートされている AWS Lake Formation government table のフォーマット一覧は、AWS Lake Formation デベロッパーガイドの「ガバメントテーブルの注意点と制限事項」を参照してください。
注記
Apache 寄木細工を書くために、AWS Glue ETL では、ダイナミックフレーム用に最適化されたカスタム Parquet ライタータイプのオプションを指定することで、管理されたテーブルへの書き込みのみをサポートします。parquet
フォーマットでガバメントテーブルに書き込む場合は、テーブルパラメータの useGlueParquetWriter
の値でキー true
に追加する必要があります。
トピック
共有設定リファレンス
形式タイプには次の format_options
値を使用できます。
-
attachFilename
— 列名として使用する適切な形式の文字列。このオプションを指定すると、レコードのソースファイルの名前がレコードに追加されます。パラメータ値は列名として使用されます。 -
attachTimestamp
— 列名として使用する適切な形式の文字列。このオプションを指定すると、レコードのソースファイルの変更時刻がレコードに追加されます。パラメータ値は列名として使用されます。