注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
新しい 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("/${namespace}/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
以下の項目を置き換えます:
${namespace}
をユーザーの名前空間に置き換えます。
${yourName}
をユーザーの /Tutorial Practice Artifacts
フォルダー名に置き換えます。
${passengers_preprocessed_RID}
を passengers_preprocessed.py
で定義された出力のRIDに置き換えます。
ℹ️ コードアシストがインポートステートメントを赤で下線で引いている場合は、リポジトリの meta.yml
ファイルを開き、エディタの上部にある Refresh Code Assist dependencies リンクを選択してください。
プレビュー ボタンを使用して、ユーザーの変換のサンプル出力を確認します。
ℹ️ プレビューヘルパーでは、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("/${namespace}/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
ブランチ上でクリーンな出力をビルドします。