问题标签 [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.

0 投票
1 回答
28724 浏览

regex - 在 Scala 中使用带有 Spark 的 Regex 过滤 DataFrame

我想过滤掉 SparkDataFrame中具有看起来像真实的电子邮件列的行,这是我尝试过的:

但这不起作用。正确的方法是什么?

0 投票
1 回答
1258 浏览

scala - Spark:sqlContext 和 dataFrame 错误

我有来自 Spark 示例网站的以下代码,试图从 Eclipse 运行它,但似乎代码甚至没有编译。

但后来我得到了以下错误。我在这里错过了什么吗?谢谢!

在此处输入图像描述

相同的错误(如文本,来自 IntelliJ)

错误:(18, 93) 没有 TypeTag 可用于 Person val people = sc.textFile("examples/src/main/resources/people.txt").map(_.split(",")).map(p = > 人(p(0), p(1).trim.toInt)).toDF() ^

0 投票
0 回答
144 浏览

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”列并对其进行迭代(丑陋)吗?
  • 还有其他方法可以达到这个结果吗?

感谢帮助 !

0 投票
1 回答
1679 浏览

scala - 如何从 Spark 中的数据框创建 EdgeRDD

我有一个火花数据框。每行代表一个人,我想检索他们之间可能的联系。拥有链接的规则是,对于每个可能的对,如果它们具有相同的 prop1:String 并且 prop2:Int 的绝对差 < 5,则链接存在。我正在尝试了解使用数据框完成此任务的最佳方法。

我正在尝试检索索引 RDD:

然后开始删除重复项,例如:

但后来我被困在检查 prop1 ......无论如何,有没有办法只使用数据框来完成所有这些步骤?

0 投票
4 回答
8034 浏览

scala - Spark:scala rdd中的组concat等价物

我有以下数据框:

我想把它变成:

  • 是否可以通过数据框操作?
  • 在这种情况下,rdd 转换会是什么样子?

我认为 rdd.reduce 是关键,但我不知道如何使其适应这种情况。

0 投票
1 回答
3342 浏览

python - 根据另一列熊猫设置列等于值

我被困在如何将每行中溶剂列的值设置为数据框中 num 列中的数字。例如,当溶剂是壬烷时,我需要 num 等于 9,当溶剂是辛烷等时,我需要 num 等于 8。任何帮助都会很棒。

在此处输入图像描述

0 投票
0 回答
1062 浏览

apache-spark - 数据框如何在关闭合并模式的情况下选择镶木地板的模式?它如何确定应该从哪些文件夹模式中选择?

我有两个不同的镶木地板文件文件夹,它们都有两种不同的模式格式。关闭合并架构后,它会选择一个文件夹的架构并坚持下去。想知道它背后的逻辑是什么来选择该文件夹的架构而不是另一个。

0 投票
5 回答
32549 浏览

apache-spark - 展平嵌套的 Spark 数据框

有没有办法展平任意嵌套的 Spark Dataframe?我看到的大部分工作都是为特定模式编写的,我希望能够用不同的嵌套类型(例如 StructType、ArrayType、MapType 等)通用地展平 Dataframe。

假设我有一个类似的架构:

希望将其调整为具有以下结构的平面表:

仅供参考,寻找有关 Pyspark 的建议,但也赞赏其他风格的 Spark。

0 投票
2 回答
873 浏览

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

我已经确认缺少的类是在驱动程序类路径中使用这个:

有谁知道我做错了什么?

更新:我没有在本地或纱线集群模式下运行任何错误。此问题仅在纱线客户端模式下发生。

0 投票
2 回答
5616 浏览

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 组成