注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
learn.palantir.com でも以下の内容をご覧いただけますが、アクセシビリティの観点から、ここに掲載しています。
前回のチュートリアルでの手順を、ユーザーの passengers_preprocessed.py
トランスフォームに対して繰り返します。
ユーザーの /preprocessed
フォルダーに新しい Python ファイルを作成し、passengers_preprocessed.py
と命名します。
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))
以下を置き換えます:
${space}
をユーザーの space で置き換えます。${yourName}
をユーザーの Tutorial Practice Artifacts フォルダー名で置き換えます。${passengers_json_raw_RID}
を passengers_raw.py
で定義されている出力である passengers_json_raw
データセットの RID に置き換えます。右上の Preview ボタンを使用して、コードをテストし、出力が raw ファイルではなくデータセットとして表示されることを確認します。
テストが期待通りに動作した場合は、意味のあるメッセージを添えてコードをコミットします。例えば、"feature: add passengers_preprocessed" とします。
フィーチャーブランチ上でユーザーの passengers_preprocessed.py
コードをビルドし、出力データセットが乗客とフライトアラートの二列マッピングを含むことを確認します。
入力/出力 トランスフォームパスと関連する RID を交換することを検討します。
ビルドが正常に完了したら、以前のチュートリアルで説明した PR プロセスを使用してフィーチャーブランチを Master
にマージします。
最後に、Master
ブランチ上で両方の前処理済み出力をビルドします。