分析概要Workbooks言語
Warning

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

言語

サポートされている言語とバージョン

Code Workbook は現在、Python、R、SQL の3つの言語をサポートしています。

Code Workbook で現在サポートされている Python のバージョンには、Python 3.8 と Python 3.9 が含まれます。Python 2 はサポートされておらず、Python 2 を使用する環境は解決に失敗します。Python Developer documentation が 終了寿命とされている ↗ Python のバージョンは Palantir Foundry がサポートを停止するため、新しいバージョンの Python の使用を強く推奨します。

現在サポートされている R のバージョンには、R 3.5、R 3.6、R 4.0、R 4.1、R 4.2 が含まれます。バージョン R 3.3 と R 3.4 はサポートされておらず、それぞれの環境は初期化に失敗します。

Code Workbook でサポートされている SQL のバリアントは Spark SQL ↗ です。

Code Workbook プロファイルで特定の言語を有効にするには、Code Workbook プロファイルの設定 ドキュメンテーションの Conda Environment セクションを参照してください。サポートされている各言語の一連の例は、以下の PythonRSQL のそれぞれの紹介で提供されています。

Palantir Foundry は2024年2月1日以降、Python 3.6 および Python 3.7 のサポートを終了します。Python 3.8 以降については、Foundry は Python Software Foundation が定義する非推奨のタイムライン(バージョンの終了寿命表 ↗で見ることができます)に従います。つまり、Python のバージョンはその終了寿命後、Foundry でサポートされなくなります。詳細は、Python バージョンのサポートのドキュメンテーションをご覧ください。

ワークブックでの言語の有効化

サポートされている言語が機能するためには、特定の設定が必要です。以下のセクションで説明します。

R の有効化

R はまだセルフサービスで利用可能ではありません。

Code Workbook で R トランスフォームを作成する能力を持つためには、次の2つの条件が真でなければなりません:

  • ユーザーのエンロールメントで R 言語が特に有効になっていなければなりません。有効化に関する支援のために、ユーザーの Palantir 代表者に連絡してください。
  • パッケージ vector-spark-module-r が現在ワークブックで使用されている環境に存在していなければなりません。これは次のいずれかの方法で達成できます:
    • Control Panel のプロファイルの設定で R チェックボックスを切り替えます。これにより、vector-spark-module-r パッケージが自動的にプロファイルの環境に追加されます。
    • パッケージを追加 ドロップダウンメニューを使用して vector-spark-module-r を環境に手動で追加します。

詳細については、Code Workbook プロファイルの設定をご覧ください。

Python の有効化

パッケージ vector-spark-module-py が現在ワークブックで使用されている環境に存在していなければなりません。これは次のいずれかの方法で達成できます:

  • Control Panel のプロファイルの設定で Python チェックボックスを切り替えます。これにより、vector-spark-module-py パッケージが自動的に環境に追加されます。
  • パッケージを追加 ドロップダウンメニューを使用して vector-spark-module-py を環境に手動で追加します。

詳細については、Code Workbook プロファイルの設定をご覧ください。

SQL の有効化

SQL トランスフォームは機能するために追加のパッケージを必要としません。その結果、SQL トランスフォームは任意のプロファイルに対してデフォルトで常に利用可能です。

特定のプロファイルで Python や R を使用する予定がない場合、環境を減らすために関連する vector-spark-module パッケージを削除することを検討してください。必要なときにいつでも追加することができます。

Python の紹介

Python トランスフォーム

Python トランスフォームは、任意の数の入力と、最大で一つの出力、およびオプションで一つ以上の視覚化を持つ Python 関数と定義されます。トランスフォームのエイリアスを関数引数として参照すると、Code Workbook は自動的にそのエイリアスの出力をトランスフォームの入力として渡します。Code Workbook のトランスフォームについての詳細は、トランスフォームの概要 ドキュメンテーションを参照してください。

Python トランスフォームの簡単な例は、単一の PySpark DataFrame を入力として含め、PySpark の構文を使用してデータをフィルター処理し、フィルター処理された Spark DataFrame を出力として持つことができます。

R のトラブルシューティング

Code Workbook でインポートされたデータセットが R の data.frame として読み込まれるとき、そのデータセットは Spark DataFrame から R の data.frame にドライバーに集約して変換されます。

  • 任意の大きさのデータを R の data.frame として読み込むことはできません。データのサイズは、Spark モジュール上のドライバーメモリによって制約されます。大きなデータを扱う場合は、まずデータセットを Spark DataFrame として読み込み、SparkR を使用してデータを小さく変換し、その後 SparkR::collect() を呼び出して R の data.frame に変換することを検討してみてください。あるいは、R を使用する前に Python または SQL を使用してデータを小さく変換します。
  • R の data.frame に特定のデータ型を集約する際に知られている問題がいくつかあります。ほとんどの場合、集約する際には、シリアライゼーションとデシリアライゼーションを高速化するライブラリである r-arrow ↗ を使用します。特に、r-arrow を使用するときには、LongArrayMapStruct、および Datetime 型は変換できません。これらの行を削除するか、他のデータ型(例えば String)にキャストすることを検討してください。これらの型を R の data.frame として読み込もうとすると、インターフェースで警告が表示されます。

Code Workbook の R はシングルスレッドであり、同じ Spark モジュール上で一度に実行できる R のジョブは一つだけです。同時に複数の R ジョブを開始すると、それらは順番に実行されます。キューに入れられたジョブは "Code Workbook でのキューイング" と表示されます。

  • 長時間実行するジョブや、変換がデータセットとして保存されるジョブがある場合、バッチビルドを実行することをお勧めします。バッチビルドは独自の Spark モジュール上で実行されるため、同じワークブックや Spark モジュールを共有する他のワークブックで継続的に反復処理を行うことができます。

SQL の紹介

Code Workbook でサポートされている SQL のバリアントは Spark SQL ↗ です。サポートされている入力と出力の型は Spark DataFrames のみです。

SQL トランスフォームの簡単な例として、2つの入力 DataFrames を結合キーで結合するものがあります。