データフィードでのParquet ファイルの操作
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 ファイルのクエリまたは読み込み
データフィードファイルは、 データフィードを作成したときに選択したクラウドストレージの場所に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としてアンロードできます。