データフィードでのParquet ファイルの操作

AVAILABILITY
この記事で説明している機能は、リリースの限定的テスト段階にあり、お使いの環境ではまだ使用できない可能性があります。 機能が一般公開されたら、このメモは削除されます。 Customer Journey Analytics リリースプロセスについて詳しくは、Customer Journey Analytics 機能リリースを参照してください。

Customer Journey Analytics データフィードは、Parquet形式でファイルを配信します。 最新のほとんどのデータウェアハウスでは、Parquet ファイルを直接読み取ることができるため、通常、使用する前にファイルを変換する必要はありません。

次の情報を使用して、データフィードでParquetを使用する理由、Parquetと他のファイル形式の比較、データウェアハウスでParquet ファイルをクエリまたは読み込む方法を理解します。

データフィードにParquetを使用する利点

Parquetは、次の理由により、CSV、TSV、JSONよりもデータフィード出力に適しています。

  • 幅の広いフィード: データフィードには数百の列を含めることができます。 Parquetを使用すると、クエリは必要な列のみを読み取ることができます。

  • ネストされたフィールド: Parquetは、製品リストなどのネストされたフィールドをネイティブで表します。 CSVとTSVは、それらを文字列にエンコードすることによってのみ、それらを表すことができます。 詳しくは、「​ データフィードのサブイベントコンポーネント ​」を参照してください。

  • 大量の書き出し: Parquetは通常、保管および転送コストを削減します。 また、データを読み込む際のテキストの解析やタイプの推測も回避できます。

ParquetとCSV、TSV、JSONの比較

CSV、TSV、およびJSONは、一般的なテキストベースのファイル形式です。

  • CSVおよびTSV: データの各行はプレーンテキストの行で、値はコンマ (CSV)またはタブ (TSV)で区切られます。 Adobe AnalyticsのデータフィードはTSV ファイルを配信します。 Customer Journey AnalyticsとAdobe Analyticsのデータフィードのその他の違いについては、Adobe AnalyticsとCustomer Journey Analyticsのデータフィードの比較を参照してください。

  • JSON:各レコードは、名前付きフィールドを含むテキストとして保存され、ネストされた配列とオブジェクトを含めることができます。

次の表は、Parquet、CSV、TSV、およびJSONの違いを示しています。

特性
PARQUET
CSVまたはTSV
JSON
ファイルサイズ
最小: 圧縮はファイルに組み込まれており、ツールはクエリが読み込む列のみを解凍します。
より大きい。 gzipなどの圧縮はファイル全体に適用されるため、ツールはファイル全体を解凍して読む必要があり、多くの場合、並行して読むことができません。
最大。 フィールド名は、すべてのレコードで繰り返されます。
クエリの速度
スピード。 クエリは、必要な列のみを読み取ります。
遅い。 行全体を読み取って解析する必要があります。
遅い。 行全体を読み取って解析する必要があります。
データタイプ
タイプ済み: スキーマはファイルに埋め込まれています。
未入力: すべての値はテキストであり、データを読み込むときに型が推測されます。
緩く入力された。
ネストされたデータ
配列とオブジェクトはネイティブでサポートされています。
サポートされていません。 配列とオブジェクトは、フラット化するか、文字列としてエンコードする必要があります。
配列とオブジェクトはネイティブでサポートされています。
読みやすさ
データウェアハウス、DuckDB、Pythonなどのツールが必要です。
テキストエディターまたはスプレッドシートで開きます。
テキストエディターで開きます。

Parquet ファイルのクエリまたは読み込み

データフィードファイルは、​ データフィードを作成したときに選択したクラウドストレージの場所にParquet形式で配信されます。

通常、ファイルをダウンロードするのではなく、データウェアハウスをストレージの場所に接続します。 その後、次のいずれかの方法でParquet ファイルを使用できます。

配置されたファイルのクエリ

クラウドストレージ内のファイルを指す外部テーブルを定義します。 クエリを実行すると、データウェアハウスはファイルを読み取ります。

  • Snowflake:外部ステージに対する外部テーブルまたはクエリ
  • Databricks: Amazon S3、Azure Data Lake Storage (ADLS)、またはGoogle Cloud Storage上の外部テーブル
  • BigQuery: Google Cloud Storage上の外部テーブル
  • Amazon Redshift: Amazon S3上のRedshift Spectrum

ファイルを管理テーブルにロードする

ファイルを管理テーブルに読み込むことは、繰り返しワークロードの一般的な選択肢です。 次に例を示します。

  • Snowflake: COPY INTO
  • BigQuery: ジョブの読み込み
  • Databricks: COPY INTOまたは自動ローダー

Parquet データをCSVまたはJSONに変換

下流プロセスでCSVまたはJSON ファイルが必要な場合、ほとんどのデータウェアハウスおよびツールは、読み込み後にParquet データをいずれかの形式に書き出すことができます。 例えば、Snowflakeでは、クエリの結果をCOPY INTOを含むCSVまたはJSONとしてアンロードできます。

recommendation-more-help
analytics-platform-help-main