注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。
目前无法直接在 Code Workspaces 中使用对象。用户可以通过工作区内的 数据 菜单导入支持对象的数据集。
可以,PySpark 可以在 Code Workspaces 中使用,但请注意,它不会利用分布式的 Spark 基础设施,因为 Code Workspaces 当前在单节点上运行。如果您想利用 Spark 基础设施,我们推荐使用 Foundry 应用程序,如 Pipeline Builder 和 Code Repositories。
要在您的 JupyterLab® Notebook 中安装 PySpark,请转到 Packages 选项卡,搜索并安装 openjdk
(来自 Conda)和 pyspark
(来自 PyPI)。
Code Workspaces 目前支持 JupyterLab® 和 RStudio® Workbench。
出于安全原因,以下 Python 软件包不受支持:
如果您对上述软件包有任何疑虑,请联系您的 Palantir 代表。
可以,在 Settings 菜单中定义网络策略后,您可以在 Code Workspaces 中进行 API 调用。请注意,外部 API 必须注册为 控制面板 中批准的网络出口策略。
Code Repositories 应用程序从关联的 Code Workspaces 接收代码,以 IPython 格式呈现代码,这会将代码在单元级别渲染为 JSON 格式。
可以;请参阅有关导入软件包的文档。如果您的软件包托管在组织的 Conda/PyPI/CRAN 频道上,Foundry 可以代理该频道并使其对您的项目可用。请联系您的 Palantir 代表以获取更多信息。
要将库导入您的 Code Workspace,请使用工作区左侧面板中的 Packages 选项卡。
可以,当代码源自 Code Workspaces 时,您可以直接在 Code Repositories 中编辑代码。提交后,您可以使用 Code Workspace 中的 Sync 或 Reset changes 功能来获取工作区中的远程更改。
概念上,您可以将 Code Repositories 视为 Code Workspaces 的版本控制管理器,处理拉取请求、冲突解决和管理,而代码开发可以在 Code Workspaces 中进行。
出于安全目的,用户在 JupyterLab® 或 RStudio® 中工作时是隔离的。这意味着每个访问同一 Code Workspace 的用户将拥有自己的环境。协作通过 git 工作流程进行:如果您希望让您的最新代码对同事可用,请选择 Sync Changes 以同步您的更改到支持的代码库,当同事选择 Sync 或 Reset changes 时,这些更改将对他们可用。当多个用户在同一工作区工作时,我们建议他们在独立的分支上工作。
请注意,我们默认使用 .gitignore
忽略某些文件,以确保没有数据同步到 git 仓库,并限制 git 仓库的大小。我们还会删除所有 JupyterLab® .ipynb
文件的输出。
可以。默认情况下,Code Workspaces 仅预安装渲染常见 R Markdown 文件(如 TinyTex-1 ↗ 中定义)的要求,但您可以自行安装其他 LaTeX 软件包:
.tds.zip
文件。my_latex_packages
。.Rprofile
中,并更新它以将文件提取到正确的位置。您需要在以下片段中将 my_latex_packages
替换为您的数据集别名:# 加载foundry库
library(foundry)
# 列出"my_latex_packages"数据集中的所有文件
my_latex_packages_files <- datasets.list_files("my_latex_packages")
# 下载"my_latex_packages"数据集中的所有文件到本地
my_latex_packages_local_files <- datasets.download_files("my_latex_packages", my_latex_packages_files)
# 获取TEXMFLOCAL目录的路径
texmflocal <- system("kpsewhich --var-value TEXMFLOCAL", intern = TRUE)
# 将下载的每一个tds文件解压到TEXMFLOCAL目录下
sapply(my_latex_packages_local_files, function(tds_file) { unzip(tds_file, exdir = texmflocal) })
Copied!1 2
headers-include: - \usepackage{my_package} % 引入自定义包 my_package
可以。
my_fonts
。my_fonts
替换为您的数据集别名:# 获取 "my_fonts" 数据集中的文件列表
my_fonts_files <- datasets.list_files("my_fonts")
# 下载 "my_fonts" 数据集中的文件到本地
my_fonts_local_files <- datasets.download_files("my_fonts", my_fonts_files)
# 创建一个名为 "fonts" 的目录
dir.create("fonts")
# 将下载的文件复制到 "fonts" 目录中
file.copy(unlist(my_fonts_local_files), "fonts")
/home/user/repo/fonts
目录中的字体,以便根据 R Markdown 的建议在您的 HTML 或 PDF 输出中使用它们。要更改 HTML 的字体,请在自定义 CSS ↗中设置 font-family
。
要更改 PDF 的字体,您可以在 LaTeX 的前导中使用 \newfontfamily
加载字体,使用自定义 LaTeX 代码 ↗。
您可以利用 %%keep_alive
单元魔术命令来防止 Code Workspaces 在单元中的代码运行时暂停 Jupyter® notebook。
Copied!1 2 3
%%keep_alive long_running_process()
%%keep_alive
是一个魔法命令,用于确保在执行长时间运行的进程时,Jupyter Notebook不会因为空闲超时而自动断开连接。long_running_process()
是一个示例函数,代表需要保持活动状态的长时间运行的过程。
这将使单元格在代码运行时保持活跃状态长达24小时。如果您的浏览器标签页关闭或闲置时间过长,JupyterLab® 将停止显示和持久化单元格的输出。如果您希望稍后查看单元格的输出,可以使用 %%capture
单元格魔法将输出存储在一个变量中:
Copied!1 2 3 4
%%keep_alive # 确保长时间运行的进程不会超时 %%capture cell_output # 捕获单元格的输出到变量cell_output中 long_running_process() # 执行长时间运行的进程
在不同的单元格中,将上述变量的输出写入文件,以便稍后查看:
Copied!1 2 3 4 5
with open('cell_output.txt', 'w+') as f: # 将标准输出写入文件 f.write(cell_output.stdout) # 将标准错误输出写入文件 f.write(cell_output.stderr)
为了确保管理员配置的下载限制得到执行,Palantir 平台中已禁用 IDE 原生文件下载功能。
要下载文件,请将文件写回 Foundry 数据集。为此,在代码工作区侧边栏中,导航到 数据 选项卡,然后选择 将数据写入新数据集,并为新数据集输入名称。在确认数据集的别名后,选择 非表格数据集 作为数据集类型,输入要上传的文件或目录的位置并运行生成的代码片段。
一旦文件上传到 Foundry 数据集,您可以选择数据集链接导航到数据集预览,并从那里下载文件。 请记住,您的管理员可能会要求在从平台导出数据之前提供理由或限制导出的数据量。
RStudio® 和 Shiny® 是 Posit™ 的商标。
Jupyter®、JupyterLab® 和 Jupyter® 徽标是 NumFOCUS 的商标或注册商标。
提到的所有第三方商标(包括徽标和图标)仍然是其各自所有者的财产。不暗示任何关联或背书。