での ETL 入力および出力の形式オプションAWS Glue - AWS Glue

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

での ETL 入力および出力の形式オプションAWS Glue

各種 AWS Glue PySparkおよびScalaメソッドと変換では、 format パラメータおよび format_options パラメータ。これらのパラメータでは以下の値を使用できます。

注記

現在、ストリーミング ETL ジョブでサポートされている形式は、JSON、CSV、Parquet、および ORC のみです。

format="avro"

この値は、 アパッチ・アヴロ データ形式。

には、以下の format_options 値を使用できます。format="avro":

  • version — サポートするApache Avroリーダー/ライター形式のバージョンを指定します。デフォルト値は「1.7」です。Avro 論理型の読み取りと書き込みを有効にするには、format_options={"version": “1.8”} を指定します。詳細については、 Apache Avro 1.7.7 仕様 および Apache Avro 1.8.2 仕様.

    Apache Avro 1.8 コネクタは、次の論理型変換をサポートしています。

読み取りの場合。この表は、Avro リーダー 1.7 と 1.8 のための Avro データ型 (論理型と Avro プリミティブ型) と Glue DynamicFrame 型の間の変換を示しています。

Avro データ型:

論理型

Avro データ型:

Avro プリミティブ型

GlueDynamicFrame データ型:

Avro リーダー 1.7

GlueDynamicFrame データ型:

Avro リーダー 1.8

小数 バイト BINARY 小数
小数 固定 BINARY 小数
int INT,
時間 (ミリ秒) int INT, INT,
時間 (マイクロ秒) long LONG LONG
タイムスタンプ (ミリ秒) long LONG タイムスタンプ
タイムスタンプ (マイクロ秒) long LONG LONG
所要時間 (論理型ではない) 12 で固定 BINARY BINARY

書き込みの場合: この表は、Avro ライター 1.7 と 1.8 の Glue DynamicFrame データ型と Avro データ型との間の変換を示しています。

Glue DynamicFrame データ型 Avro データ型:

Avro ライター 1.7

Avro データ型:

Avro タイター 1.8

小数 : 文字列 10 進数
: 文字列 日付
タイムスタンプ : 文字列 timestamp-micros

format="csv"

この値は comma-separated-values データ形式として(たとえば、 RFC 4180(RFC 4180) および RFC 7111(RFC 7111))。

には、以下の format_options 値を使用できます。format="csv":

  • separator — 区切り文字を指定します。デフォルトはカンマ (,) です。','。ただし、その他の文字は指定できます。

  • escaper — エスケープに使用する文字を指定します。デフォルト値は です。 "none"。 有効にすると、すぐに続く文字は、よく知られたエスケープの小さなセット(\n\r\t、および \0)。

  • quoteChar — 見積もりに使用する文字を指定します。デフォルト値は二重引用符 です。'"'引用を完全に無効にするには、これを '-1' に設定します。

  • multiline — 1 つのレコードが複数の行にまたがるかどうかを指定するブール値。これが発生するのは、フィールドに引用符で囲まれた改行文字がある場合などです。複数行にまたがるレコードがある場合は、このオプションを "true" に設定する必要があります。デフォルト値は "false" であり、解析時によりアグレッシブなファイル分割を可能にします。

  • withHeader — 最初の行をヘッダーとして扱うかどうかを指定するブール値。デフォルト値は です。 "false"。 このオプションは、 DynamicFrameReader クラス。

  • writeHeader — ヘッダーを出力に書き込むかどうかを指定するブール値。デフォルト値は です。 "true"。 このオプションは、 DynamicFrameWriter クラス。

  • skipFirst — 最初のデータ行をスキップするかどうかを指定するブール値。デフォルト値は です。"false".

format="ion"

この値は アマゾンイオン データ形式として使用されます。(詳細については、 Amazonイオン仕様。)

現在、 AWS Glue はサポートしていません ion 出力用。

format_options 値はありません。format="ion".

format="grokLog"

この値は、1 つ以上の Logstash glok パターンで指定したログデータ形式を指定します(たとえば、 Logstash Reference (6.2): Grok filter plugin(Grokフィルタープラグイン))。

現在、 AWS Glue はサポートしていません groklog 出力用。

には、以下の format_options 値を使用できます。format="grokLog":

  • logFormat — ログの形式に一致する glok パターンを指定します。

  • customPatterns — ここで使用している追加のGrokパターンを指定します。

  • MISSING — 欠測値の識別に使用する信号を指定します。デフォルト: '-'.

  • LineCount — 各ログ レコードの行数を指定します。デフォルト値は '1' です。現在 1 行のレコードのみがサポートされています。

  • StrictMode — strict モードを有効にするかどうかを指定するブール値。厳格モードでは、リーダーは自動的な型変換や復旧を行いません。デフォルト値は です。"false".

format="json"

この値は、 JSON(JSON) (JavaScript Object Notation)データ形式。

現在、 AWS Glue はサポートしていません format_optionsjson 出力。

には、以下の format_options 値を使用できます。format="json":

  • jsonPath — A JsonPath(ジェイソンパス) レコードに読み取るオブジェクトを識別する式。これは、ファイルが外部配列内にネストされたレコードを含む場合に役立ちます。たとえば、次の JsonPath 式のターゲットは、JSON オブジェクトの id フィールドです。

    format="json", format_options={"jsonPath": "$.id"}
  • multiline — 1 つのレコードが複数の行にまたがるかどうかを指定するブール値。これが発生するのは、フィールドに引用符で囲まれた改行文字がある場合などです。複数行にまたがるレコードがある場合は、このオプションを "true" に設定する必要があります。デフォルト値は "false" であり、解析時によりアグレッシブなファイル分割を可能にします。

format="orc"

この値は アパッチORC データ形式として使用されます。(詳細については、 言語マニュアル ORC。)

以下はありません format_optionsformat="orc"。 ただし、基礎となる SparkSQL コードによって受け入れられるオプションは、 connection_options mapパラメータ。

format="parquet"

この値は Apache Parquet(アパッチ・パルケット) データ形式として使用されます。

以下はありません format_optionsformat="parquet"。 ただし、基礎となる SparkSQL コードによって受け入れられるオプションは、 connection_options mapパラメータ。

format="glueparquet"

この値は、動的フレーム用に最適化されたカスタム Parquet ライタータイプをデータ形式として指定します。書き込む前に事前計算スキーマは必要ありません。データが到着すると、glueparquet はスキーマを動的に計算して変更します。

には、以下の format_options 値を使用できます。format="glueparquet":

  • compression — Parquetファイルの書き込み時に使用する圧縮コーデックを指定します。デフォルト値は です。"snappy".

  • blockSize — メモリでバッファされる行グループのサイズを指定します。デフォルト値は です。"128MB".

  • pageSize — 単一のレコードにアクセスするために完全に読み取る必要がある最小単位のサイズを指定します。デフォルト値は です。"1MB".

制約事項

  • glueparquet スキーマの縮小または拡張のみをサポートし、タイプの変更はサポートしません。

  • glueparquet はスキーマ専用ファイルを格納できません。

  • glueparquet は、データ・シンクの形式としてのみ渡すことができます。

format="xml"

この値は、XML をデータ形式として指定し、 Apache Spark の XML データ ソース パーサー。

現在、AWS Glue は出力用に "xml" をサポートしていません。

には、以下の format_options 値を使用できます。format="xml":

  • rowTag — 行として扱うファイル内の XML タグを指定します。行のタグを自己終了型にすることはできません。

  • encoding — 文字エンコードを指定します。デフォルト値は です。"UTF-8".

  • excludeAttribute — エレメント内のアトリビュートを除外するかどうかを指定するブール値。デフォルト値は です。"false".

  • treatEmptyValuesAsNulls — 空白を NULL 値として扱うかどうかを指定するブール値。デフォルト値は です。"false".

  • attributePrefix — 要素と区別するための属性のプレフィックス。このプレフィックスをフィールド名として使用します。デフォルト値は です。"_".

  • valueTag — 要素に子のない属性がある場合に値に使用されるタグ。デフォルト: "_VALUE".

  • ignoreSurroundingSpaces — 値を囲む空白を無視するかどうかを指定するブール値。デフォルト値は です。"false".