问题标签 [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.
apache-spark - 如何在 Spark SQL 中完成高度倾斜的联接?
我的加入执行如下:
数据集:
/foo/bar/baz
数据集:/foo2/bar2/baz2
我的执行程序出现 OOM 错误,我不想不必要地向执行程序投入更多内存。如何在不消耗额外资源的情况下确保此连接成功执行?
palantir-foundry - 如何从代码存储库中找到 Foundry API?
使用例如 Python 转换从代码存储库中访问内部 Foundry API 的正确方法是什么?
palantir-foundry - 在 Foundry 代码存储库中,如何从 Python 转换中记录调试消息?
有什么方法可以在转换代码中引入调试语句,以便稍后在驱动程序日志中看到它们?还是引发异常是唯一的方法?
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 以利用分桶?
palantir-foundry - 在 Foundry Code Repositories 中,如何遍历目录中的所有数据集?
我正在尝试从单个 Pyspark 转换中的单个目录读取(全部或多个)数据集。是否可以迭代路径中的所有数据集,而不将单个数据集硬编码为输入?
我想从多个数据集中动态获取不同的列,而不必对单个输入数据集进行硬编码。
palantir-foundry - 如何在 Foundry 代码存储库中使用本地 IDE 进行 Java 转换?
我有一个 Java 转换代码存储库。使用本地 IDE(如 IntelliJ)编写代码并发布到 Foundry 代码库需要哪些步骤?
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
pyspark - Pyspark 根据今天的日期获取上一季度的最后日期
在使用 pyspark 的代码仓库中,我尝试使用今天的日期,基于此我需要检索上一季度的最后一天。然后,该日期将用于过滤掉数据框中的数据。我试图在代码仓库中创建一个数据框,但这不起作用。我的代码在代码工作簿中工作。这是我的代码工作簿代码。
任何帮助,将不胜感激。
palantir-foundry - Code Repository - pyspark 中的 CTX 到底是什么?
我在代码仓库中看到了 ctx 的使用,这到底是什么?它是内置库吗?我什么时候使用它?
我在以下示例中看到了它:
palantir-foundry - 在 Foundry Transforms 中保存 CSV 文件
是否可以在 Foundry Code Repositories transforms-python 语言中保存 CSV 文件,而不是以 Parquet 格式保存它们?