注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
以下は、データセットプレビューに関するよくある質問です。
一般的な情報については、データセットプレビューの概要を参照してください。
引用符で囲まれたフィールド内に、入れ子の二重引用符と埋め込みの改行文字( )がある CSV をアップロードすると、スキーマ推論に失敗し、スキーマエディターで有効なスキーマを作成できません。
問題に対処するには、次の手順を実行します。
dataFrameReaderClass を com.palantir.foundry.spark.input.DataSourceDataFrameReader に変更します。"customMetadata" オブジェクトに次の内容を追加します。 "customMetadata": {
"format": "csv",
"options": {
"header": true,
"multiLine": true
}
}
データセットが複数の CSV で構成されていて(たとえば、Data Connection の APPEND トランザクションによって)、その一部の CSV に列が多く含まれている場合、スキーマ推論に失敗します。対処方法の1つは、列数が不揃いな行(特定の列が欠けている行など)を無視することです。これを行うには、スキーマを編集を選択し、データの読み取りオプションセクションを展開して、列数が不揃いな行を無視にチェックを入れます。
ただし、列数が不揃いな行を保持して、データセットに統一されたスキーマを指定したい場合は、このセクションの手順が適用されます。以下の前提条件セクションに記載された条件をデータが満たしている場合、トラブルシューティングの手順により、_ユーザーが定義した_標準スキーマを持つデータセットが作成されます。このデータセットでは、列数が不揃いな行の欠けている列に null が自動的に入力されます。
パースに失敗したときの症状:
「プレビューを読み込めませんでした:入力 CSV データのパース中にエラーが発生しました。すべてのデータが正しい形式であることを確認してください。」などのエラーメッセージが表示される場合があります。
また、スキーマを編集を選択してから保存して検証を選択すると、「データセットの x 行で検証に失敗しました。」というエラーメッセージが表示される場合もあります。
前提条件:
データセットに含めるすべての列名とデータ型など、必要なスキーマを定義できること。
スキーマで厳格な列順序が適用されること。たとえば、データセットに列 {a, b, c} を含めて表示したい場合、元の CSV は次のような列構造にできます。
ただし、次のような列構造には_できません_。
ただし、次のような列構造には_できません_。
トラブルシューティングの手順が適用可能で、役立つケースの例を以下に示します。
APPEND トランザクションによって、CSV がデータセットに定期的に追加されます。ある日、新しい列が CSV の末尾に追加されます。データセットでは、それまでに追加されたすべての CSV の行にも新しい列を含める必要があります。その際、列数が不揃いな行として扱うのではなく、フィールドの値に null が自動的に入力されるようにします。
このトラブルシューティングの手順は、生の Parquet データセットで利用可能な mergeSchema オプションの機能を再現するものではありません(これらのデータセットは、dataFrameReaderClass に com.palantir.foundry.spark.input.ParquetDataFrameReader を指定してパースされます)。生の CSV データセットで同様の機能を再現するには、ユーザーが作成したトランスフォームが必要です。
問題に対処するには、次の手順を実行します。
fieldSchemaList を変更します。たとえば、データセットに列 {a, b, c} を含め、すべての列のデータ型を Integer にする場合、fieldSchemaList は次のようになります。 "fieldSchemaList": [
{
"type": "INTEGER",
"name": "a",
"nullable": null,
"userDefinedTypeClass": null,
"customMetadata": {},
"arraySubtype": null,
"precision": null,
"scale": null,
"mapKeyType": null,
"mapValueType": null,
"subSchemas": null
},
{
"type": "INTEGER",
"name": "b",
"nullable": null,
"userDefinedTypeClass": null,
"customMetadata": {},
"arraySubtype": null,
"precision": null,
"scale": null,
"mapKeyType": null,
"mapValueType": null,
"subSchemas": null
},
{
"type": "INTEGER",
"name": "c",
"nullable": null,
"userDefinedTypeClass": null,
"customMetadata": {},
"arraySubtype": null,
"precision": null,
"scale": null,
"mapKeyType": null,
"mapValueType": null,
"subSchemas": null
}
],
"dataFrameReaderClass" とその入れ子の customMetadata オブジェクトを変更します。"dataFrameReaderClass": "com.palantir.foundry.spark.input.DataSourceDataFrameReader",
"customMetadata": {
"format": "csv",
"options": {
"multiLine": true,
"header": true,
"mode": "PERMISSIVE"
}
}
}
プラットフォームからデータセットをエクスポートすると、一部のファイルを開いたときにデータが詰まって表示される場合があります。この問題は特定のリージョンで確認されており、Excel で使用されるデフォルトの区切り文字が原因です。この問題を解決するには、エクスポート設定の区切り文字のパターンを変更する必要があります。