注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
flight_alerts_clean.py
のコードは以下のことを行っています:
assignee
と comment
)を追加し、運用上の下流ワークフローで使用します(例:フライトアラートをオペレーターにアクションとコメントのために割り当てることができます)。PySpark の学習は、このトラックの範囲を超えています。コードベースのデータ変換を学習するためのオンラインリソースがたくさんあります。しかし、flight_alerts_clean.py
のコードを簡単に見直して、基本的なベストプラクティスを示し、Foundryドキュメントで利用可能なPySparkリソースへのスプリングボードとしてみましょう。以下のテキストは、コードの運用上興味深い機能の一部(すべてではありません)を抜粋しています。
このタスクでドキュメントへのリンクが提供されている場合は、それらを選択して指定されたセクションを読んでください。
DataFrame は、この段階では簡単にしか説明できない Spark の概念です。簡単に言えば、DataFrame は名前付きの列の下にある行のコレクションです。例えば、コードの14行目では、priority_mapping_preprocessed
のエイリアス化された列から構成される priority_mapping
という DataFrame を作成しています。この DataFrame を定義した後、変換の中で名前を指定して呼び出すことができます。
インポート文で Functions
モジュールが pyspark.sql からインポートされていることを思い出してください。コードのいくつかの箇所で、DataFrame の特定の列を参照できるように F.col
を使用しています。列参照については、このドキュメントページで詳しく読んでください。その記事では、任意の列を DataFrame に追加するための withColumn
の使用もカバーされています。
PySpark での select
は、SQL での select
とほぼ同じように機能します。つまり、ある DataFrame から特定の列を別の DataFrame に含める列を選択します。DataFrame_A
が10個の列を持っていて、そのうち3つだけが必要な場合、.select()
を使って DataFrame_B
を作成できます。
DataFrame_B = DataFrame_A.select('col_1', 'col_2', 'col_3')
このドキュメントエントリ で述べられているように、.select()
を使ってデータセットのスキーマを指定することは、可能な限り使用すべきベストプラクティスです。
PySpark の join は、SQL の join がテーブルを結合するのと同様に、DataFrame を結合します。PySpark の join に関するドキュメントを見直してください。次に、このセクションを読んで、アンチパターンや効率的な join 操作を保つための推奨ベストプラクティスをご確認ください。