注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
learn.palantir.com ↗でも以下の内容をご覧いただけますが、アクセシビリティの観点から、ここに掲載しています。
新しい clean フォルダーに passengers_clean.py
という名前の新しい Python ファイルを追加し、デフォルトのコンテンツを下記のコードブロックに置き換えてください。
from transforms.api import transform_df, Input, Output
from pyspark.sql import functions as F
from cleaning_functions import type_utils as types, cleaning_utils as clean
@transform_df(
Output("/${space}/Temporary Training Artifacts/${yourName}/Data Engineering Tutorials/Datasource Project: Passengers/data/clean/passengers_clean"),
source_df=Input("${passengers_preprocessed_RID}"),
)
def compute(source_df):
# define string columns to be normalized
normalize_string_columns = [
'first_name',
'last_name',
'flyer_status',
]
# define columns to be cast to dates
cast_date_columns = [
'dob',
]
# cast columns to appropriate types using functions from our utils files
typed_df = types.cast_to_date(source_df, cast_date_columns, "MM/dd/yy")
# normalize strings and column names using functions from our utils files
normalized_df = clean.normalize_strings(typed_df, normalize_string_columns)
normalized_df = clean.normalize_column_names(normalized_df)
# select columns in the order we want and rename where appropriate
normalized_df = normalized_df.select(
'passenger_id',
'first_name',
'last_name',
'country',
F.col('dob').alias('date_of_birth'),
'flyer_status',
)
return normalized_df
次の項目を置き換えてください:
${space}
をユーザーの space に置き換えてください。
${yourName}
をユーザーの /Tutorial Practice Artifacts
フォルダーの名前に置き換えてください。
${passengers_preprocessed_RID}
を passengers_preprocessed.py
で定義した出力の RID に置き換えてください。
ℹ️ あなたのインポート文が Code Assist によって赤く下線引きされている場合は、リポジトリの meta.yml
ファイルを開き、エディタの上部にある Refresh Code Assist dependencies リンクを選択してください。
Preview ボタンを使用して、あなたのトランスフォームのサンプル出力を確認してください。
ℹ️ Preview ヘルパーでは、INPUTS と OUTPUTS ブロックを左側のヘルパー上で交互にクリックすることで、入力のサンプルと出力のサンプルを素早く切り替えて結果を比較することができます。
/datasets
フォルダーに passenger_flight_alerts_clean.py
という新しいファイルを作成し、デフォルトのコードを下記のコードブロックに置き換えてください。
from transforms.api import transform_df, Input, Output
from cleaning_functions import cleaning_utils as clean
@transform_df(
Output("/${space}/Temporary Training Artifacts/${yourName}/Data Engineering Tutorials/Datasource Project: Passengers/data/clean/passenger_flight_alerts_clean"),
source_df=Input("${passenger_flight_alerts_preprocessed_RID}"),
)
def compute(source_df):
# normalize column names using functions from our utils files
normalized_df = clean.normalize_column_names(source_df)
return normalized_df
passenger_flight_alerts_clean.py
トランスフォームファイルに対して、手順 2 と 3 を繰り返してください。{$passenger_flight_alerts_preprocessed_RID}
プレースホルダーについては、リポジトリの passenger_flight_alerts_preprocessed.py
トランスフォームファイルを参照して出力 RID を取得してください。
新しいコードを意味のあるメッセージ(例:「feature: add clean outputs」)でブランチにコミットしてください。
ブランチ上でクリーンなデータセットをビルドし、データが正規化され、適切にフォーマットされていることを確認してください。例えば、Master
上の passengers_preprocessed
データセットとあなたのブランチ上の passengers_clean
を比較することを考えてみてください。
コードファイル内の Input パスを Replace paths with RIDs リンクを使用して RID に置き換えることを検討してください。これはコードへの変更なので、新たなコミットが必要になることを覚えておいてください。
ブランチ上でビルドが成功したら、PR を作成し、あなたのブランチを Master
にマージしてください。
Master
ブランチ上でクリーンな出力をビルドしてください。