问题标签 [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 投票
3 回答
24723 浏览

apache-spark - 如何使用 DataFrame 和 JDBC 连接提高慢速 Spark 作业的性能?

我正在尝试在单个节点(本地 [*])上以独立模式通过 JDBC 访问中型 Teradata 表(约 1 亿行)。

我正在使用 Spark 1.4.1。并且设置在非常强大的机器上(2 cpu,24 核,126G RAM)。

我尝试了几种内存设置和调整选项以使其工作得更快,但它们都没有产生巨大的影响。

我确信我遗漏了一些东西,下面是我的最后一次尝试,它花了大约 11 分钟来获得这个简单的计数,而使用通过 R 的 JDBC 连接只花了 40 秒来获得计数。

当我尝试使用 BIG 表(5B 记录)时,查询完成后没有返回任何结果。

0 投票
1 回答
1748 浏览

java - 数据帧通过少量数据解析很慢

我有 2 个类在 Apache Spark 中执行类似的任务,但是使用数据帧的类比使用 RDD 的“常规”类慢很多倍。(30 倍)

我想使用数据框,因为它会消除我们拥有的很多代码和类,但显然我不能让它慢得多。

数据集没什么大不了的。我们有 30 个文件,每个文件都包含 json 数据,这些文件是关于另一个软件中的活动触发的事件。每个文件中有 0 到 100 个事件。

包含 82 个事件的数据集将需要大约 5 分钟来处理数据帧。

示例代码:

此代码中有一些效率不高的地方,但是当我查看日志时,它只会为整个处理增加几秒钟的时间。

我一定错过了一些大事。

我已经用 2 个执行器和 1 个执行器运行了这个,差别是 5 分钟 20 秒。

这是在 Hadoop 2.5.0 上使用 Java 1.7 和 Spark 1.4.1 运行的。

谢谢!

0 投票
2 回答
4897 浏览

csv - 两个 Spark DataFrame 的简单连接因“org.apache.spark.sql.AnalysisException:无法解析列名”而失败

更新 事实证明,这与 Databricks Spark CSV 阅读器创建 DataFrame 的方式有关。在下面这个不起作用的示例中,我使用 Databricks CSV 阅读器读取人员和地址 CSV,然后将生成的 DataFrame 以 Parquet 格式写入 HDFS。

我更改了代码以创建 DataFrame:(与 people.csv 类似)

然后将生成的 DataFrame 以 Parquet 格式写入 HDFS,连接按预期工作

在这两种情况下,我都在阅读完全相同的 CSV。


尝试对从 HDFS 上的两个不同 parquet 文件创建的两个 DataFrame 执行简单连接时遇到问题。


[main] INFO org.apache.spark.SparkContext -运行 Spark 版本 1.4.1

从Hadoop 2.7.0使用 HDFS


这是一个示例来说明。


人的内容

地址内容


结果是...

结果是...

笛卡尔连接工作正常, printSchema() 结果...

这个加盟...

导致以下异常。


我尝试更改它,以便人员和地址具有共同的关键属性(addressid)并使用..

但是得到了同样的结果。

有任何想法吗??

谢谢

0 投票
1 回答
1445 浏览

python - 为什么将 Dataframe 转储到 Avro 文件无法在 Python 中转换字节数组?

我面临以下困难:我正在使用 Spark 1.4.1、Python 2.7.8 和 spark-avro_2.10-1.0.0

我正在尝试使用 spark-avro 将 Python 字节数组存储在 avro 文件中。我的目的是存储与使用特定图像编码器编码的图像块相对应的字节链。

它因转换异常而失败:

这是我为重现问题而制作的示例:

这是使用启动的

它在转换中失败了!

0 投票
4 回答
19438 浏览

java - Java Spark Dataframe API (1.4.1) 中未定义的 max() 和 sum() 方法

将示例代码DataFrame.groupBy()放入我的代码中,但它显示了max()sum()未定义的方法。

如果我想使用max()sum()方法,我应该导入哪个 Java 包?

此示例代码的语法是否正确?

0 投票
1 回答
27099 浏览

apache-spark-sql - Spark sql Dataframe - 导入 sqlContext.implicits._

我有创建火花上下文的主要内容:

然后创建数据框并对数据框进行过滤和验证。

这很好用。

但是当我尝试通过将数据帧发送到

获取数据框并进行验证和转换:似乎我需要

为避免错误:“value $ is not a member of StringContext”在线发生:.withColumn("time",convertToHourly( $ "time"))

但是要使用 import sqlContext.implicits._ 我还需要sqlContext在新文件中定义的任何一个,如下所示:

或发送到

我觉得我试图对 2 个文件(主要和验证)进行的分离没有正确完成......

关于如何设计这个的任何想法?或者只是将 sqlContext 发送到函数?

谢谢!

0 投票
1 回答
1173 浏览

scala - Apache Spark 中的特征选择和 One-Hot-Encoding

我正在研究分类模型,但在为模型创建正确形式的数据时遇到问题。在我的数据集中,有 3 列带有总和。我使用给定的 Bucketizer 对这些列进行了离散化。其余列以字符串作为值进行分类。我使用 StringIndexer 来转换这些功能。然后我通过 ChiSqSelector 选择最好的列。到目前为止,一切都很好。但现在我想转换虚拟变量中的分类特征。我不知道该怎么做,因为我已经有了 LabeledPoints 形式的数据。有没有简单的方法或给定的解决方案将值从一组向量转换为虚拟变量?或者有没有人建议以另一种方式解决这个问题?

0 投票
1 回答
633 浏览

scala - Spark:合并 RDD

使用 Spark 1.4 我有两个不同模式的数据框。比方说:

DF1:字符串A,字符串B DF2:字符串C

我想将两者合并/组合成一个数据框,例如:

DF3:字符串A、字符串B、字符串C

当他们没有可供我使用的钥匙时,我似乎无法找到将两者结合起来的方法。

0 投票
3 回答
95397 浏览

scala - 如何在 Scala 中将 DataFrame 转换为 RDD?

有人可以分享如何将 a 转换dataframeRDD吗?

0 投票
1 回答
214 浏览

apache-spark - spark dataframe.filter(...).select(...) 是否使用顺序搜索或哈希算法?

场景:我创建了一个查找表(输入是大约 50 Mb 的 JSON 文件)并缓存在内存中,以便在处理输入文件的每一行(每个输入文件中大约 10000 个数据点)时可以查找它。

问题:spark 中的 dataframe.filter(...).select(...) 方法是否执行顺序搜索或哈希搜索?在这种情况下,我们如何才能更快地检索数据?另外,我想知道是否需要在其上创建索引或为其创建哈希表(如果需要,我不确定它是如何为数据帧完成的)。