注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
はい、Jupyter® Code Workspaces で PySpark を使用できます。ただし、ワークスペースのコンテナ内でローカルモードで実行され、利用可能な CPU とメモリーのみを使用します。分散 Spark クラスターでは実行されません。分散 Spark ワークロードの実行には、Pipeline Builder や Code Repositories などの Foundry アプリケーションを推奨します。
JupyterLab® Notebook に PySpark をインストールするには、ライブラリタブに移動し、pyspark と openjdk の両方をインストールします。次の OpenJDK バージョンに対応しています。
8.x、11.x、または 17.x17.x または 21.xjava.lang.UnsupportedOperationException: getSubject is supported only if a security manager is allowed などのエラーが発生した場合は、使用している PySpark リリースに対応するバージョンに OpenJDK が固定されていることを確認してください。
次のコードを使用して Spark セッションを作成し、生の Parquet ファイルを Spark データフレームに読み込み、変換を適用します。この方法は、Code Repositories の PySpark トランスフォームで適用する PySpark 変換の下書きを作成する際に役立ちます。
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27from foundry.transforms import Dataset from pyspark.sql import SparkSession import pyspark.sql.functions as F # Spark コンテキストを作成します。以下の例では、2 CPU、16 GB のワークスペースを示しています。 spark = (SparkSession.builder .appName("ParquetExample") .master("local[2]") # 利用可能な CPU 数に設定します。 .config("spark.driver.memory", "10g") # ドライバーのメモリーを、コンテナの合計メモリーの約50~65%に設定します。 .config("spark.driver.memoryOverhead", "4g") # オーバーヘッドメモリーを、コンテナの合計メモリーの約20~35%に設定します。 .config("spark.sql.shuffle.partitions", "6") # 必要に応じて、パーティション数を CPU の総数の約3倍に設定します。 .getOrCreate()) sc = spark.sparkContext # parquet ファイルの Foundry データセットをノートブックにダウンロードします。 parquet_foundry = Dataset.get("parquet_foundry_dataset") files = parquet_foundry.files().download() # ファイルを Spark データフレームに読み込みます。 spark_df = spark.read.parquet(*list(files.values())) # PySpark の変換を適用します。 df_processed = spark_df.filter(F.col("col1") == 1) # 出力データセットを書き込みます。 spark_output = Dataset.get("spark_output") spark_output.write_table(df_processed.toArrow())
はい、外部システムを使用して Code Workspaces で API 呼び出しを実行できます。外部システムは、ワークスペースからのエグレスに推奨される方法として、ネットワークポリシーに取って代わりました。CBAC が有効な環境では、Control Panel で設定したネットワークポリシーを使用してください。
Code Workspaces は現在、VS Code、JupyterLab®、RStudio® Workbench に対応しています。
コードビューアーには、リポジトリに保存されているコミット済みの状態が表示されます。VS Code、JupyterLab®、RStudio® Workbench、Code Repositories、またはローカル開発環境で行った変更は、コミットして同期した後にのみ表示されます。
いいえ。エディターワークスペースを作成または起動しなくても、コードビューアーでリポジトリの一覧を見ることができます。
デフォルトでは、停止中の VS Code ワークスペースを開くと、ワークスペースセッションがバックグラウンドで起動する間、コードビューアーが開きます。VSコードタブのアイコンにワークスペースのステータスが表示されます。VSコードタブを選択するまで、コードビューアーは開いたままになります。
この動作を無効にするには、エディターで続けるの手順に従います。
セキュリティ上の理由により、次の Python パッケージは利用できません。
上記のパッケージについて懸念がある場合は、Palantir の担当者にお問い合わせください。
Code Repositories アプリケーションは、関連付けられた Code Workspaces から IPython 形式でコードを受け取ります。この形式では、コードがセル単位で JSON 形式として表示されます。
はい。パッケージのインポートに関するドキュメントを参照してください。パッケージが組織の Conda/PyPI/CRAN チャネルでホストされている場合、Foundry でそのチャネルをプロキシし、プロジェクトで利用可能にすることができます。詳しくは、Palantir の担当者にお問い合わせください。
Code Workspace にライブラリをインポートするには、ワークスペースの左側のパネルにあるパッケージタブを使用します。
はい、Code Workspaces に由来するコードは、Code Repositories で直接編集できます。コミット後、Code Workspace の同期または変更をリセット機能を使用して、リモートの変更をワークスペースに取り込めます。
概念的には、Code Repositories は Code Workspaces のバージョン管理マネージャーとして、プルリクエスト、競合の解決、管理を扱い、コード開発は Code Workspaces で行うものと考えることができます。
セキュリティ上の目的で、JupyterLab® または RStudio® で作業するユーザーは互いに隔離されています。そのため、同じ Code Workspace にアクセスするユーザーにも、それぞれ独自の環境が用意されます。共同作業は git ワークフローを通じて行います。最新のコードを同僚が利用できるようにするには、変更を同期するを選択して、元のコードリポジトリと変更を同期します。同僚が同期または変更をリセットを選択すると、その変更を利用できるようになります。同じワークスペースで複数のユーザーが作業する場合は、独立したブランチで作業することを推奨します。
git リポジトリにデータが同期されないようにし、git リポジトリのサイズを制限するため、デフォルトでは .gitignore を使用して一部のファイルを無視します。また、JupyterLab® の .ipynb ファイルからすべての出力を削除します。
はい。デフォルトでは、Code Workspaces には一般的な R Markdown ファイルのレンダリングに必要なもの(TinyTex-1 ↗ で定義されています)のみが事前にインストールされていますが、ほかの LaTeX パッケージを自身でインストールできます。
.tds.zip ファイルをダウンロードできます。my_latex_packages と名付けたものとします。.Rprofile に貼り付け、ファイルを正しい場所に抽出する処理も行うように更新します。以下のスニペットの my_latex_packages を、データセットのエイリアスに置き換える必要があります。library(foundry)
my_latex_packages_files <- datasets.list_files("my_latex_packages")
my_latex_packages_local_files <- datasets.download_files("my_latex_packages", my_latex_packages_files)
texmflocal <- system("kpsewhich --var-value TEXMFLOCAL", intern = TRUE)
sapply(my_latex_packages_local_files, function(tds_file) { unzip(tds_file, exdir = texmflocal) })
headers-include:
- \usepackage{my_package}
はい。
my_fonts と名付けたものとします。my_fonts を、データセットのエイリアスに置き換える必要があります。my_fonts_files <- datasets.list_files("my_fonts")
my_fonts_local_files <- datasets.download_files("my_fonts", my_fonts_files)
dir.create("fonts")
file.copy(unlist(my_fonts_local_files), "fonts")
/home/user/repo/fonts ディレクトリ内のフォントを参照し、HTML または PDF 出力で使用できるようになります。HTML のフォントを変更するには、カスタム CSS ↗ で font-family を設定します。
PDF のフォントを変更するには、プリアンブル内のカスタム LaTeX コード ↗で ewfontfamily を使用して、LaTeX にフォントを読み込めます。
%%keep_alive セルマジックを使用すると、セル内のコードの実行中に Code Workspaces が Jupyter® ノートブックを一時停止するのを防げます。
Copied!1 2 3%%keep_alive long_running_process()
これにより、セルのコードが実行されている間、最大24時間セルの実行が継続されます。ブラウザーのタブを閉じるか、長時間操作せずに放置すると、JupyterLab® はセルの出力の表示と保存を停止します。後でセルの出力を表示したい場合は、%%capture セルマジックを使用して出力を変数に格納できます。
Copied!1 2 3 4%%keep_alive %%capture cell_output long_running_process()
別のセルで、上記の変数の出力をファイルに書き込み、後で表示できるようにします。
Copied!1 2 3with open('cell_output.txt', 'w+') as f: f.write(cell_output.stdout) f.write(cell_output.stderr)
管理者が設定したダウンロード制限を確実に適用するため、Palantir プラットフォームでは IDE 標準のファイルダウンロード機能が無効になっています。
ファイルをダウンロードするには、ファイルを Foundry データセットに書き戻します。これを行うには、Code Workspaces のサイドバーで、データタブ、新しいデータセットにデータを書き込むの順に移動し、新しいデータセットの名前を入力します。データセットのエイリアスを確認したら、データセットの種類として表形式以外のデータセットを選択し、アップロードするファイルまたはディレクトリの場所を入力して、生成されたコードスニペットを実行します。
ファイルが Foundry データセットにアップロードされたら、データセットのリンクを選択してデータセットプレビューに移動し、そこからファイルをダウンロードできます。 管理者が、プラットフォームからデータをエクスポートする前に理由の提示を求めたり、エクスポートするデータ量を制限したりする場合があることに留意してください。
RStudio® および Shiny® は Posit™ の商標です。
Jupyter®、JupyterLab®、および Jupyter® のロゴは NumFOCUS の商標または登録商標です。
記載されている第三者の商標(ロゴやアイコンを含む)は、すべてそれぞれの所有者に帰属します。提携や推奨を示唆するものではありません。