注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

データセットプレビュー FAQ

以下はデータセットプレビューに関するよくある質問です。

一般的な情報については、データセットプレビューの概要を参照してください。


一致しない引用符文字のためにCSVの解析が失敗する

引用符で囲まれたフィールド内にネストされた二重引用符と埋め込まれた改行 (\n) 文字が含まれるCSVをアップロードすると、スキーマ推論が失敗し、スキーマエディタを使用して有効なスキーマを作成することができません。

トラブルシューティングを行うには、以下の手順を実行してください:

  1. CSVをデータセットにアップロードし、Edit Schemaを選択します。
  2. およびQuotesプロパティを設定します。
  3. スキーマ検証エラーを無視し、Save and Validateオプションの隣にあるドロップダウンメニューからSave without Validatingを選択します。これにより、正しい列定義を持つスキーマが作成されます。
  4. Detailsタブで、スキーマを編集モードで開きます。
  5. dataFrameReaderClasscom.palantir.foundry.spark.input.DataSourceDataFrameReader に変更します。
  6. "customMetadata" オブジェクトに以下を追加します:
Copied!
1 2 3 4 5 6 7 "customMetadata": { "format": "csv", // データ形式がCSVであることを示します "options": { "header": true, // 最初の行がヘッダー行であることを示します "multiLine": true // 複数行にわたるレコードを処理できることを示します } }

Return to top


データセットが解析に失敗する原因は、一部の基盤となるCSVがより多くの列を持っていること

データセットが複数のCSVで構成されている場合(たとえば、Data ConnectionのAPPENDトランザクションを通じて)、それらのCSVの一部により多くの列が含まれていると、スキーマ推論が失敗します。1つのオプションとして、ギザギザの行(特定の列が欠落している行など)を無視することができます。これを行うには、スキーマを編集を選択し、解析オプションセクションを展開し、ギザギザの行を無視をチェックします。

ただし、ギザギザの行を保持し、データセットに対して標準化されたスキーマを指定したい場合は、このセクションが適用されます。以下の仮定セクションで概説されている条件がユーザーのデータに当てはまる場合、トラブルシューティングの手順によって、ギザギザの行が欠落している列に対してnullで自動的に埋められる標準スキーマを持つデータセットが生成されます。

解析失敗の症状:

次のようなエラーメッセージが表示される場合があります: "プレビューを読み込めませんでした: 入力CSVデータの解析中にエラーが発生しました。すべてのデータが正しくフォーマットされていることを確認してください。"

また、スキーマを編集を選択してから保存して検証を選択した後に、次のエラーメッセージが表示されることもあります: "データセットがx行での検証に失敗しました。"

仮定:

  1. データセットが持つべきすべての列名とタイプなど、希望するスキーマを定義できる。

  2. スキーマが厳密な列の順序を強制する。たとえば、データセットが列_{a, b, c}_を含み表示する必要がある場合、基盤となるCSVは次のような列構造を持つことができます:

  • {a}
  • {a, b}

しかし、次のような列構造を持つことはできません:

  • {b, a}
  1. 基盤となるCSVは、(n+1) 番目の列を持っている場合、n 番目までのすべての列を持っていなければなりません。たとえば、データセットが列_{a, b, c, d}_を含み表示する必要がある場合、基盤となるCSVは次のような列構造を持つことができます:
  • {a}
  • {a, b}
  • {a, b, c}

しかし、次のような列構造を持つことはできません:

  • {b, c, d}
  • {a, c, d}
  • {a, b, d}

以下は、トラブルシューティングの手順が適用され有用であるケースの例です:

CSVがAPPENDトランザクションを通じて定期的にデータセットに追加されます。ある日、新しい列が追加され、CSVの新しい最後の列になります。データセット内では、これまでに追加されたすべてのCSVの行が新しい列を持ち、フィールドの値はギザギザとして考慮されるのではなくnullで自動的に埋められる必要があります。

トラブルシューティングの手順は、com.palantir.foundry.spark.input.ParquetDataFrameReaderdataFrameReaderClassとして使用して解析される生のParquetデータセットで利用可能なmergeSchemaオプションの機能を複製するものではありません。生のCSVデータセットでそのような機能を再現するためには、ユーザーが作成したトランスフォームが必要です。

トラブルシューティングを行うには、以下の手順を実行します:

  1. 詳細タブで、スキーマタブを開き、編集を選択します。
  2. fieldSchemaListを修正して、データセットが持つべきすべての列を含めるようにします。たとえば、データセットがすべて整数型の列_{a, b, c}_を持つべき場合、fieldSchemaListは次のようになります:
Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 "fieldSchemaList": [ { "type": "INTEGER", // データ型は整数 "name": "a", // フィールド名は "a" "nullable": null, // このフィールドがnullを許可するかどうかの情報は指定されていない "userDefinedTypeClass": null, // ユーザー定義型クラスは指定されていない "customMetadata": {}, // カスタムメタデータは空 "arraySubtype": null, // 配列のサブタイプは指定されていない "precision": null, // 精度情報は指定されていない "scale": null, // スケール情報は指定されていない "mapKeyType": null, // マップのキータイプは指定されていない "mapValueType": null, // マップの値タイプは指定されていない "subSchemas": null // サブスキーマ情報は指定されていない }, { "type": "INTEGER", // データ型は整数 "name": "b", // フィールド名は "b" "nullable": null, // このフィールドがnullを許可するかどうかの情報は指定されていない "userDefinedTypeClass": null, // ユーザー定義型クラスは指定されていない "customMetadata": {}, // カスタムメタデータは空 "arraySubtype": null, // 配列のサブタイプは指定されていない "precision": null, // 精度情報は指定されていない "scale": null, // スケール情報は指定されていない "mapKeyType": null, // マップのキータイプは指定されていない "mapValueType": null, // マップの値タイプは指定されていない "subSchemas": null // サブスキーマ情報は指定されていない }, { "type": "INTEGER", // データ型は整数 "name": "c", // フィールド名は "c" "nullable": null, // このフィールドがnullを許可するかどうかの情報は指定されていない "userDefinedTypeClass": null, // ユーザー定義型クラスは指定されていない "customMetadata": {}, // カスタムメタデータは空 "arraySubtype": null, // 配列のサブタイプは指定されていない "precision": null, // 精度情報は指定されていない "scale": null, // スケール情報は指定されていない "mapKeyType": null, // マップのキータイプは指定されていない "mapValueType": null, // マップの値タイプは指定されていない "subSchemas": null // サブスキーマ情報は指定されていない } ],
  1. "dataFrameReaderClass" とそのネストされた customMetadata オブジェクトを変更し、スキーマ JSON の最後が次のようになるようにしてください。
// データフレームリーダークラスの指定
"dataFrameReaderClass": "com.palantir.foundry.spark.input.DataSourceDataFrameReader",
  "customMetadata": {
    // ファイルフォーマットの指定
    "format": "csv",
    "options": {
      // 複数行のデータを許可
      "multiLine": true,
      // 最初の行をヘッダーとして扱う
      "header": true,
      // 読み込み時に柔軟に対応するモード
      "mode": "PERMISSIVE"
    }
  }
}
  1. 保存を選択します。

ページの先頭に戻る


ダウンロードしたデータセットをMicrosoft Excelで開くと、見た目が変なのはなぜですか?

プラットフォームからデータセットをエクスポートする際、一部のファイルが開いたときに圧縮されて見えることがあります。この問題は特定の地域で観察されており、Excelで使用されるデフォルトの区切り文字が原因です。この問題を修正するには、エクスポート設定で区切り文字のパターンを変更する必要があります。

  1. ファイルをExcelで開きます。
  2. リボンのデータタブを選択します。
  3. データツールグループで、区切り位置オプションを選択します。
  4. テキストを列に変換ウィザードウィンドウで、区切り記号オプションを選択し、次へを選択します。
  5. 区切り記号セクションで、使用したい区切り記号(たとえば、コンマ、セミコロン、タブ)を選択します。
  6. 次へを選択し、完了を選択してプロセスを完了します。

ページの先頭に戻る