Spark在Foundry中可以使用分区修剪吗

2024-03-05

我们有一个数据集,它作为增量构建在 Foundry 实例上运行。 该数据集是一个大型时间序列数据集(565亿行,10列,965GB),时间戳以1小时为单位。数据集每天增长约 10GB。

为了优化数据集以进行分析,我们根据两个属性“measure_date”和“measuring_time”对数据集进行了重新分区。

这反映了访问模式——数据集通常通过“measure_date”访问。我们通过“measuring_time”对其进行子分区,以减少生成的镶木地板文件的大小,而且按时间过滤也是一种常见的访问模式。

创建分区的代码如下:

if ctx.is_incremental:
    return df.repartition(24, "measure_date", "measuring_time")
else:
    return df.repartition(2200, "measure_date", "measuring_time")

使用哈希分区会创建不平衡的文件大小,但这是另一篇文章的主题。

我现在试图找出如何让 Spark on Foundry 利用过滤条件中的分区。据我所知,情况并非如此。

我创建了一个代码工作簿并对遥测数据运行以下查询,将结果保存到另一个数据集。

SELECT * 
FROM telemetry_data
where measure_date = '2022-06-05'

构建的物理查询计划似乎表明 Spark 没有使用任何分区,计划中的分区过滤器为空。

Batched: true, BucketedScan: false, DataFilters: [isnotnull(measure_date#170), (measure_date#170 = 19148)], 
            Format: Parquet, Location: InMemoryFileIndex[sparkfoundry://prodapp06.palantir:8101/datasets/ri.foundry.main.dataset.xxx..., 
            PartitionFilters: [],
            PushedFilters: [IsNotNull(measure_date), EqualTo(measure_date,2022-06-05)],
            ReadSchema: struct<xxx,measure_date:date,measuring_time_cet:timestamp,fxxx, ScanMode: RegularMode

如何让 Spark on Foundry 使用分区修剪?


我相信你需要使用transforms.api.IncrementalTransformOutput.write_dataframe() with partitionBy=['measure_date', 'measuring_time']实现您想要的目标。

检查铸造文档 https://www.palantir.com/docs/foundry/transforms-python/transforms-python-api-classes/#incrementaltransformoutput了解更多。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spark在Foundry中可以使用分区修剪吗 的相关文章

  • Spark 按列重新分区,每列动态分区数

    如何根据列中的项目数对 DataFrame 进行分区 假设我们有一个包含 100 人的 DataFrame 列是first name and country 我们希望为一个国家 地区的每 10 个人创建一个分区 如果我们的数据集包含 80
  • 如何使用列的平均值将列添加到 DataFrame

    有没有更好的办法 val mean df select avg date first getDouble 0 df withColumn mean lit mean 我认为避免采取行动是值得的 可以使用以下方法避免额外的操作broadcas
  • 如何从 Databricks Delta 表中删除列?

    我最近开始发现 Databricks 并遇到了需要删除增量表的特定列的情况 当我使用 PostgreSQL 时 它就像 ALTER TABLE main metrics table DROP COLUMN metric 1 我正在浏览 Da
  • Spark:替换嵌套列中的空值

    我想更换所有n a以下数据框中的值unknown 它可以是scalar or complex nested column 如果它是一个StructField column我可以循环遍历列并替换n a using WithColumn 但我希
  • 如何从spark管道逻辑模型中提取变量权重?

    我目前正在尝试学习 Spark Pipeline Spark 1 6 0 我将数据集 训练和测试 导入为 oas sql DataFrame 对象 执行以下代码后 生成的模型是oas ml tuning CrossValidatorMode
  • 如何通过sparkSession向worker提交多个jar?

    我使用的是火花2 2 0 下面是我在 Spark 上使用的 java 代码片段 SparkSession spark SparkSession builder appName MySQL Connection master spark ip
  • 使用 pyspark 计算所有可能的单词对

    我有一个文本文档 我需要找到整个文档中重复单词对的可能数量 例如 我有下面的word文档 该文档有两行 每行用 分隔 文档 My name is Sam My name is Sam My name is Sam My name is Sa
  • 如何将模型结果保存到文本文件?

    我正在尝试将从模型生成的频繁项集保存到文本文件中 该代码是 Spark ML 库中 FPGrowth 示例的示例 Using saveAsTextFile直接在模型上写入 RDD 位置而不是实际值 import org apache spa
  • HashPartitioner 是如何工作的?

    我阅读了文档HashPartitioner http spark apache org docs 1 3 1 api java index html org apache spark HashPartitioner html 不幸的是 除了
  • 在 Spark MLlib 上使用 Java 中的 Breeze

    在尝试从Java使用MLlib时 使用微风矩阵运算的正确方法是什么 例如scala 中的乘法很简单 matrix vector 相应的功能在Java中是如何表达的 有一些方法 例如 colon times 可以通过正确的方式调用 breez
  • Spark:如何使用crossJoin

    我有两个数据框 df1有 100000 行并且df2有 10000 行 我想创建一个df3这是两者的交叉连接 val df3 df1 crossJoin df2 这将产生 10 亿行 尝试在本地运行它 但似乎需要很长时间 您认为本地可以实现
  • Scala:什么是 CompactBuffer?

    我试图弄清楚 CompactBuffer 的含义 和迭代器一样吗 请解释其中的差异 根据 Spark 的文档 它是 ArrayBuffer 的替代方案 可以提供更好的性能 因为它分配的内存更少 以下是 CompactBuffer 类文档的摘
  • Spark DataFrame 序列化为无效 json

    TL DR 当我倾倒 Spark 时DataFrame作为 json 我总是得到类似的结果 key1 v11 key2 v21 key1 v12 key2 v22 key1 v13 key2 v23 这是无效的 json 我可以手动编辑转储
  • 如何设置SPARK_HOME变量?

    按照链接中的气泡水步骤进行操作http h2o release s3 amazonaws com sparkling water rel 2 2 0 index html http h2o release s3 amazonaws com
  • Spark 中的 Distinct() 函数如何工作?

    我是 Apache Spark 的新手 正在学习基本功能 有一个小疑问 假设我有一个元组 键 值 的 RDD 并且想从中获取一些唯一的元组 我使用distinct 函数 我想知道该函数基于什么基础认为元组是不同的 是基于键 值还是两者 di
  • Spark 2.2 无法将 df 写入 parquet

    我正在构建一个聚类算法 我需要存储模型以供将来加载 我有一个具有以下架构的数据框 val schema new StructType add StructField uniqueId LongType add StructField tim
  • 从 pyspark.sql 中的列表创建数据框

    我完全陷入了有线的境地 现在我有一个清单li li example data map lambda x get labeled prediction w x collect print li type li 输出就像 0 0 59 0 0
  • Spark 在 WholeTextFiles 上创建的分区少于 minPartitions 参数

    我有一个文件夹 里面有 14 个文件 我在一个集群上使用 10 个执行器运行 Spark Submit 该集群的资源管理器为 YARN 我创建了我的第一个 RDD 如下所示 JavaPairRDD
  • 如何在不从 DataFrame 转换并访问它的情况下向数据集添加列?

    我知道使用以下方法将新列添加到 Spark 数据集的方法 withColumn and a UDF 它返回一个 DataFrame 我还知道 我们可以将生成的 DataFrame 转换为 DataSet 我的问题是 如果我们仍然遵循传统的
  • pyspark 将 twitter json 流式传输到 DF

    我正在从事集成工作spark streaming with twitter using pythonAPI 我看到的大多数示例或代码片段和博客是他们从Twitter JSON文件进行最终处理 但根据我的用例 我需要所有字段twitter J

随机推荐

  • 如何将 PayPal 与 Zend Framework 集成

    我是 Zend Framework 的新手 我需要集成 paypal 我不知道如何整合 PayPal 与 Zend 框架 任何 URL 或示例代码都会对我们有好处 请帮忙 提前致谢 这可能是一个很好的起点 http framework ze
  • 将父级中定义的脚本和样式注入到 iframe

    我正在构建一个组件库 css 框架 我想在 iframe 中演示它以将样式与页面隔离 我的设置是 Next js 文档 我想要演示的地方 和 Vite js 用于库代码 的 monorepo 用于渲染iframe我在用着react fram
  • Application Insights 每 5 分钟禁用一次 GET 请求

    我们在 Application Insights 方面遇到问题 有一个很多请求 https i stack imgur com U0veX png每 5 分钟到我们的应用程序服务 所有警报均被禁用 有谁知道这是什么以及如何禁用该请求的日志记
  • 当 HTTP 响应状态设置为 400 时,IIS 覆盖 HTTP 响应文本

    我正在构建一个带有 IIS 7 5 后端的 MVC 3 应用程序 在我的控制器上 我有允许用户添加 编辑域对象的操作方法 该操作处理 HTTP Post 有一个字符串返回值 其中包含保存过程中遇到的任何验证错误消息 以下是一种操作方法的示例
  • 将布尔数组初始化为 false

    我下面有这段代码 如何初始化每个元素 false boolean seats new boolean 10 我看到一个类似的问题 但是 第二行对我来说没有意义 你能解释一下第二行吗 Boolean array new Boolean siz
  • Javascript JQuery 替换标签

    我有一个内容可编辑区域 当用户完成编辑后 我会将数据保存到文件中 当用户首先使用一个浏览器 然后使用另一个浏览器时 由 contenteditables 创建的不同样式会导致代码混乱且不兼容 我想知道是否有什么办法可以替代 span sty
  • 在基类本身中定义“纯”虚函数是否有意义?

    定义的好处common基类中的虚函数的优点是我们不必在派生类中重新定义它们 即使我们定义pure基类本身中的虚函数 我们仍然必须在派生类中定义它们 include
  • SonarQube多模块和多子文件夹项目配置

    我有一个多模块sbt项目具有以下结构 parent child1 src group child1 src child2 src 我需要配置 SonarQube 来扫描 可能 嵌套文件夹中的所有模块 Note I have child1 a
  • 如何将 Readline 支持编译到 Ruby 中

    我的 ruby 版本是用editline 在 os x 上 我怀念以下功能readline in irb 如何重新编译 rubyreadline支持 Install readline to usr local 从头开始重新编译 ruby 并
  • 面向对象范式中松耦合和紧耦合有什么区别?

    任何人都可以描述面向对象范式中松耦合和紧耦合之间的确切区别吗 紧耦合是指一组类彼此高度依赖 当一个类承担太多职责时 或者当一个关注点分散在许多类而不是拥有自己的类时 就会出现这种情况 松耦合是通过促进单一职责和关注点分离的设计来实现的 松散
  • 自定义 Tumblr 的移动主题

    我希望让我的 Tumblr 博客对移动设备更加友好 并且我想在桌面主题旁边使用移动主题 我发现我可以使用移动设备的默认移动主题 但是有没有办法让我自定义移动主题 同时仍保留桌面的常规主题 只是为在搜索时发现此内容的人回答 我不希望他们被有关
  • 使用提示更改 div 内的文本[重复]

    这个问题在这里已经有答案了 好的 我在这个页面上有我想要做的事情的简化代码 我希望浏览器在加载页面时立即显示提示 询 问其姓名 一旦他们回答了他们的名字 它就会获取该变量 名称 并将其写入带有 id welcomeText 的 div 内
  • 清理 Tomcat 访问日志条目

    在我们的日志中 我们看到信用卡号码是由于人们使用 CC 信息点击我们应用程序中的一些 ULR 我不知道他们为什么这样做 我们希望清理这些信息 出于 PCI 考虑 甚至不将其保存到磁盘 因此 我希望能够在日志条目到达日志文件之前对其进行清理
  • 如果 Html 文件没有结尾的“/tr”标签或“/td”标签,则 HTML Agility Pack 无法完美读取该信息

    我正在使用 HTML Agility Pack 来解析 html 内容 我正在使用解析来提取表信息 有用 但是 如果没有结束 tr 标签或 td 标签 那么它就不能完美地解析该信息 其中没有结束 tr 标签或 td 标签 Like tabl
  • 将纯数据 Docker 容器从一台机器移动到另一台机器的正确方法

    我有一个数据库 Docker 容器 它将其数据写入另一个仅数据容器 纯数据容器有一个存储数据库数据的卷 是否有一种 docker 方式将这个纯数据容器从一台机器迁移到另一台机器 我读到了有关 docker save 和 docker loa
  • 使用斯坦福核心 NLP 的自定义关系提取模型未找到任何关系

    我使用斯坦福核心 NLP 训练了一个用于关系提取的自定义模型example http nlp stanford edu software relationExtractor html 但是当我运行模型时 它没有找到任何关系 即使我直接使用训
  • 列出 jQuery 中的所有表头

    如何列出 jQuery 中的所有表头 我的 HTML 表如下 table class edit table mobile optimised break words thead tr th Location th th Date from
  • 当方法以看似不相关的方式重载时,为什么 scala 无法编译?

    class A class B extends A object Sample def foo a Set A println Hi Set A def foo a String println Hi A Sample foo Set ne
  • 模板类与私有继承

    为什么有些编译器坚持限定模板基类的公共成员 而不要求非模板类的成员相同 请看下面的代码清单 模板类 include
  • Spark在Foundry中可以使用分区修剪吗

    我们有一个数据集 它作为增量构建在 Foundry 实例上运行 该数据集是一个大型时间序列数据集 565亿行 10列 965GB 时间戳以1小时为单位 数据集每天增长约 10GB 为了优化数据集以进行分析 我们根据两个属性 measure