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