问题标签 [foundry-code-repositories]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
489 浏览

apache-spark - 如何在 Spark SQL 中完成高度倾斜的联接?

我的加入执行如下:

数据集: /foo/bar/baz

数据集:/foo2/bar2/baz2

我的执行程序出现 OOM 错误,我不想不必要地向执行程序投入更多内存。如何在不消耗额外资源的情况下确保此连接成功执行?

0 投票
3 回答
410 浏览

palantir-foundry - 如何从代码存储库中找到 Foundry API?

使用例如 Python 转换从代码存储库中访问内部 Foundry API 的正确方法是什么?

0 投票
1 回答
163 浏览

palantir-foundry - 在 Foundry 代码存储库中,如何从 Python 转换中记录调试消息?

有什么方法可以在转换代码中引入调试语句,以便稍后在驱动程序日志中看到它们?还是引发异常是唯一的方法?

0 投票
1 回答
220 浏览

palantir-foundry - Foundry Transform 在重新分区、hive 分区和分桶的各种组合中输出多少文件?

我想我了解重新分区、配置单元分区和分桶如何影响输出文件的数量,但我不太清楚各种功能的交互。有人可以帮助填写以下每种情况下我留空的输出文件的数量吗?目的是了解正确的代码适用于以下情况:我需要对高基数列和低基数列进行分区/分桶,在这种情况下我有频繁的操作来过滤低基数列,然后加入高基数列。

假设我们有一个数据框df,它以 200 个输入分区开始,colA有 10 个唯一值,并且colB有 1000 个唯一值。

首先检查我的理解:

  • df.repartition(100)= 100 个相同大小的输出文件

  • df.repartition('colA')= 10 个不同大小的输出文件,因为每个文件将包含 1 个 colA 值的所有行

  • df.repartition('colB')= 1000 个输出文件

  • df.repartition(50, 'colA')= 50 个输出文件?

  • df.repartition(50, 'colB')= 50 个输出文件,所以有些文件会包含多个 colB 的值?

Hive 分区:

  • output.write_dataframe(df, partition_cols=['colA'])= 1,000 个输出文件(因为我在 10 个配置单元分区 10 中的每个分区中可能有 100 个文件)

  • output.write_dataframe(df, partition_cols=['colB'])= 10,000 个输出文件

  • output.write_dataframe(df, partition_cols=['colA', 'colB'])= 100,000 个输出文件

  • output.write_dataframe(df.repartition('colA'), partition_cols=['colA'])= 10个不同大小的输出文件(每个hive分区1个文件)

分桶:

  • output.write_dataframe(df, bucket_cols=[‘colB’], bucket_count=100)= 100 个输出文件?在一个实验中,情况似乎并非如此

  • output.write_dataframe(df, bucket_cols=[‘colA’], bucket_count=10)= 10 个输出文件?

  • output.write_dataframe(df.repartition(‘colA’), bucket_cols=[‘colA’], bucket_count=10)= ???

现在都在一起了:

  • output.write_dataframe(df, partition_cols=[‘colA’], bucket_cols=[‘colB’], bucket_count=200)= ???

  • output.write_dataframe(df.repartition(‘colA’, ‘colB’), partition_cols=[‘colA’], bucket_cols=[‘colB’], bucket_count=200)= ???-- 这是我最后要使用的命令吗?任何下游都会首先过滤 colA 以利用 hive 分区,然后加入 colB 以利用分桶?

0 投票
1 回答
176 浏览

palantir-foundry - 在 Foundry Code Repositories 中,如何遍历目录中的所有数据集?

我正在尝试从单个 Pyspark 转换中的单个目录读取(全部或多个)数据集。是否可以迭代路径中的所有数据集,而不将单个数据集硬编码为输入?

我想从多个数据集中动态获取不同的列,而不必对单个输入数据集进行硬编码。

0 投票
1 回答
180 浏览

palantir-foundry - 如何在 Foundry 代码存储库中使用本地 IDE 进行 Java 转换?

我有一个 Java 转换代码存储库。使用本地 IDE(如 IntelliJ)编写代码并发布到 Foundry 代码库需要哪些步骤?

0 投票
1 回答
94 浏览

palantir-foundry - 如何在 Foundry 的 SQL 转换中设置变量?

有没有办法在 Foundry 的 transforms-sql 中设置变量?我有一个值列表,我在查询中多次引用这些值,理想情况下只指定一次。

正在做: SELECT * FROM foo WHERE param IN ('a', 'b', 'c')

想做类似的事情:SET param_list = ('a', 'b', 'c') SELECT * FROM foo WHERE param IN @param_list

0 投票
1 回答
765 浏览

pyspark - Pyspark 根据今天的日期获取上一季度的最后日期

在使用 pyspark 的代码仓库中,我尝试使用今天的日期,基于此我需要检索上一季度的最后一天。然后,该日期将用于过滤掉数据框中的数据。我试图在代码仓库中创建一个数据框,但这不起作用。我的代码在代码工作簿中工作。这是我的代码工作簿代码。

任何帮助,将不胜感激。

0 投票
1 回答
839 浏览

palantir-foundry - Code Repository - pyspark 中的 CTX 到底是什么?

我在代码仓库中看到了 ctx 的使用,这到底是什么?它是内置库吗?我什么时候使用它?

我在以下示例中看到了它:

0 投票
1 回答
287 浏览

palantir-foundry - 在 Foundry Transforms 中保存 CSV 文件

是否可以在 Foundry Code Repositories transforms-python 语言中保存 CSV 文件,而不是以 Parquet 格式保存它们?