问题标签 [spark-dataframe]
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.
regex - 在 Scala 中使用带有 Spark 的 Regex 过滤 DataFrame
我想过滤掉 SparkDataFrame
中具有看起来像真实的电子邮件列的行,这是我尝试过的:
但这不起作用。正确的方法是什么?
apache-spark - 在 Spark DataFrame 项上迭代地执行本地(驱动程序)代码
我正在使用 Spark、Dataframes 和 Python。
假设我有一个相当大的数据框,每一行都包含一些 JPG 图像作为二进制数据。我想构建某种浏览器来按顺序显示每个图像。
我有一个视图函数,它以单行作为输入并执行以下操作:
以下代码适用于 spark-submit 选项--master local[*]:
显然,视图函数不能在远程 Spark 执行器上运行。所以上面的代码在yarn-client模式下失败了。
我可以使用以下代码在yarn-client模式下工作:
缺点是我只能收集一些物品。数据太大,无法一次获取超过 10 或 100 个项目。
所以我的问题是:
- 有没有办法让一些 DF/RDD 操作在驱动程序上本地执行,而不是在 executors 上执行?
- 从 11 号开始,有什么东西可以让我从 DF 收集 10 件物品吗?我应该尝试向我的 DF 添加一个“ID”列并对其进行迭代(丑陋)吗?
- 还有其他方法可以达到这个结果吗?
感谢帮助 !
scala - 如何从 Spark 中的数据框创建 EdgeRDD
我有一个火花数据框。每行代表一个人,我想检索他们之间可能的联系。拥有链接的规则是,对于每个可能的对,如果它们具有相同的 prop1:String 并且 prop2:Int 的绝对差 < 5,则链接存在。我正在尝试了解使用数据框完成此任务的最佳方法。
我正在尝试检索索引 RDD:
然后开始删除重复项,例如:
但后来我被困在检查 prop1 ......无论如何,有没有办法只使用数据框来完成所有这些步骤?
scala - Spark:scala rdd中的组concat等价物
我有以下数据框:
我想把它变成:
- 是否可以通过数据框操作?
- 在这种情况下,rdd 转换会是什么样子?
我认为 rdd.reduce 是关键,但我不知道如何使其适应这种情况。
apache-spark - 数据框如何在关闭合并模式的情况下选择镶木地板的模式?它如何确定应该从哪些文件夹模式中选择?
我有两个不同的镶木地板文件文件夹,它们都有两种不同的模式格式。关闭合并架构后,它会选择一个文件夹的架构并坚持下去。想知道它背后的逻辑是什么来选择该文件夹的架构而不是另一个。
apache-spark - 展平嵌套的 Spark 数据框
有没有办法展平任意嵌套的 Spark Dataframe?我看到的大部分工作都是为特定模式编写的,我希望能够用不同的嵌套类型(例如 StructType、ArrayType、MapType 等)通用地展平 Dataframe。
假设我有一个类似的架构:
希望将其调整为具有以下结构的平面表:
仅供参考,寻找有关 Pyspark 的建议,但也赞赏其他风格的 Spark。
java - 使用 Spark DataFrames 查询 Hive 表在 yarn-client 模式下会导致 ClassNotFoundException
我正在尝试在 yarn-client 模式下使用带有 Hive 的 DataFrames 运行一个基本的“Hello world”类型示例。我的代码是:
这在本地模式下工作正常,但是当我在 yarn-client 模式下运行它时,我在驱动程序上得到了这个异常:
java.lang.ClassNotFoundException: org.apache.hadoop.hive.ql.plan.TableDesc
我已经确认缺少的类是在驱动程序类路径中使用这个:
有谁知道我做错了什么?
更新:我没有在本地或纱线集群模式下运行任何错误。此问题仅在纱线客户端模式下发生。
java - 基于第二个 DataFrame 的 DataFrame 过滤
使用 Spark SQL,我有两个数据框,它们是从一个创建的,例如:
我想过滤 df1,如果它的“路径”的一部分是 df2 中的任何路径。因此,如果 df1 具有路径为“a/b/c/d/e”的行,我会发现 df2 中的行是否为路径为“a/b/c”的行。在 SQL 中应该是这样的
其中 udf 是用户定义的函数,可缩短 df1 的原始路径。幼稚的解决方案是使用 JOIN 然后过滤结果,但速度很慢,因为 df1 和 df2 各有超过 1000 万行。
我也尝试了以下代码,但首先我必须从 df2 创建广播变量
我遇到的问题是,在评估返回/执行 df2 过滤时,Spark 卡住了。
我想知道如何使用两个数据框来做到这一点。我真的很想避免加入。有任何想法吗?
编辑>>
在我的原始代码中,df1 具有别名“第一”和 df2“第二”。此连接不是笛卡尔连接,也不使用广播。
isPrefix 是 udf
缩短路径 - 它剪切路径中的最后两个字符
记录示例。路径是独一无二的。
所以 df1 由
和 df2 组成