5A. [Repositories] Working with Raw Files in Code Repositories8 - データの前処理、パート 2
Warning

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

8 - データの前処理、パート 2

learn.palantir.com でも以下の内容をご覧いただけますが、アクセシビリティの観点から、ここに掲載しています。

📖 タスクの概要

前回のチュートリアルでの手順を、ユーザーの passengers_preprocessed.py トランスフォームに対して繰り返します。

🔨 タスクの説明

  1. ユーザーの /preprocessed フォルダーに新しい Python ファイルを作成し、passengers_preprocessed.py と命名します。

  2. passengers_preprocessed.py ファイルを開き、デフォルトのコードを以下のコードに置き換えます。

    from transforms.api import transform, Input, Output
    from transforms.verbs.dataframes import sanitize_schema_for_parquet
    
    
    @transform(
        parsed_output=Output("/${space}/Temporary Training Artifacts/${yourName}/Data Engineering Tutorials/Datasource Project: Passengers/datasets/preprocessed/passengers_preprocessed"),
        raw_file_input=Input("${passengers_json_raw_RID}"),
    )
    def read_json(ctx, parsed_output, raw_file_input):
    
        # Create a variable for the filesystem of the input datasets
        filesystem = raw_file_input.filesystem()
    
        # Create a variable for the hadoop path of the files in the input dataset
        hadoop_path = filesystem.hadoop_path
    
        # Create an array of the absolute path of each file in the input dataset
        paths = [f"{hadoop_path}/{f.path}" for f in filesystem.ls()]
    
        # Create a Spark dataframe from all of the JSON files in the input dataset
        df = ctx.spark_session.read.json(paths)
    
        """
        Write the dataframe to the output dataset, using the sanitize_schema_for_parquet function
        to make sure that the column names don't contain any special characters that would break the
        output parquet file
        """
        parsed_output.write_dataframe(sanitize_schema_for_parquet(df))
    
  3. 以下を置き換えます:

    • 6行目の ${space} をユーザーの space で置き換えます。
    • 6行目の ${yourName} をユーザーの Tutorial Practice Artifacts フォルダー名で置き換えます。
    • 7行目の ${passengers_json_raw_RID}passengers_raw.py で定義されている出力である passengers_json_raw データセットの RID に置き換えます。
  4. 右上の Preview ボタンを使用して、コードをテストし、出力が raw ファイルではなくデータセットとして表示されることを確認します。

  5. テストが期待通りに動作した場合は、意味のあるメッセージを添えてコードをコミットします。例えば、"feature: add passengers_preprocessed" とします。

  6. フィーチャーブランチ上でユーザーの passengers_preprocessed.py コードをビルドし、出力データセットが乗客とフライトアラートの二列マッピングを含むことを確認します。

  7. 入力/出力 トランスフォームパスと関連する RID を交換することを検討します。

  8. ビルドが正常に完了したら、以前のチュートリアルで説明した PR プロセスを使用してフィーチャーブランチを Master にマージします。

  9. 最後に、Master ブランチ上で両方の前処理済み出力をビルドします。