问题标签 [apache-spark-dataset]

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 回答
3661 浏览

scala - Spark 数据集和 java.sql.Date

假设我有一个Dataset这样的 Spark:

我想创建一个Dataset只有名称和日期字段的新字段。据我所知,我可以使用ds.select()withTypedColumn或者我可以使用ds.select()withColumn然后将其转换DataFrameDataset.

但是,我无法让前一个选项与该Date类型一起使用。例如:

后一个选项有效:

有没有一种方法可以从不来回选择Date字段?DatasetDataFrame

0 投票
1 回答
907 浏览

apache-spark - DataFrame / Dataset Apache spark的逻辑计划

我正在使用火花 2.0.0 。这是我的代码:

我坚持执行logicalQuery. 我想得到dataframedataset如果可能的话。任何帮助,将不胜感激

0 投票
2 回答
7363 浏览

apache-spark - How to efficiently rename columns in Datasets (Spark 2.0)

With DataFrames, one can simply rename columns by using df.withColumnRename("oldName", "newName"). In Datasets, since every field is typed and named, this doesn't seem possible. The only work around I can think of is to use map on the Dataset:

This seems a very round-about and inefficient way just to rename a column. Is there a better way?

0 投票
1 回答
1270 浏览

scala - 如何在没有自定义案例类的情况下将包含大量列的镶木地板文件读取到数据集?

我想使用数据集而不是数据框。

我正在阅读镶木地板文件并想直接推断类型:

我不想要Dataset[Row]一个Dataset.

我知道我可以做类似的事情:

但是,我的数据有很多列!所以,如果我可以避免编写案例类,那就太好了!

0 投票
0 回答
159 浏览

apache-spark - Spark 嵌套 RDD 限制

看起来无法执行嵌套 RDD 操作是 Spark 现在面临的一个限制。

目前,我有两个从不同表加载的数据集(比如 A 和 B),对于数据集 A 中的每条记录,我需要查询另一个数据集 B。结果在提交到数据库之前会进一步转换。

正如我见过的其他一些 SO 问题中所建议的那样,在这种情况下加入也不起作用。例如,嵌套的 spark Sql 查询是这样的:

那么如何通过嵌套处理 A 对 B 的每条记录。

谢谢

0 投票
1 回答
34 浏览

apache-spark - 从 SQL 查询返回的 `dataframe/Dataset` 函数中获取相同的结果

数据 :

预期输出

我可以通过编写 sql 查询来实现这一点。

请帮助我使用dataframe/Dataset函数(select、groupby、agg 等)实现相同的结果

0 投票
1 回答
2701 浏览

apache-spark - 在 java 中使用 spark 数据集读取 avro 数据

我是 spark 的新手,我正在尝试使用 java 加载 avro 数据来触发“数据集”(spark 1.6)。我在 scala 中看到了一些示例,但在 java 中没有。任何指向 java 中示例的指针都会有所帮助。我尝试创建一个 javaRDD,然后将其转换为“数据集”。我相信必须有一条直截了当的方法。

0 投票
2 回答
671 浏览

scala - 重命名 Scala Spark 2.0 数据集中的嵌套字段

我正在尝试使用 Spark 2.0 重命名案例类数据集中的嵌套字段。一个例子如下,我试图将“元素”重命名为“地址”(保持它在数据结构中的嵌套位置):

作为参考,以下不起作用:

0 投票
1 回答
1483 浏览

apache-spark - Spark 数据集 - 内部连接问题

我正在使用 Spark 2.0.0,并且我有两个数据集(Dataset[Row]),如下所示。

数据集'appUsage':

数据集'appDev'

当我使用以下代码进行左连接时,一切都按预期工作。

输出是:

但我想做一个内部连接,这样只有两个数据集中存在的行才会成为结果集的一部分。但是,当我使用以下代码执行此操作时,输出为空。

我错过了什么吗?

0 投票
0 回答
762 浏览

java - Apache Spark 自联接多列上的大数据集

我在hadoop集群上运行apache spark,使用yarn。我有一个大数据集,大约有 1.6 亿条记录。我必须执行自我加入。连接是在 1 列 (c1) 的完全匹配、日期重叠匹配和至少 2 列中的至少 1 列的匹配上完成的(比如说 c3 或 c4)。

我已经从 RDD 中的 HBase 读取数据并将该 RDD 转换为 DATASET,然后我进行了连接。所以我的问题是:

1)如果我在进行连接之前对 c1 上的 rdd 进行分区(这必须始终匹配)会有所帮助,这样 spark 只会加入分区而不是对周围的所有东西进行洗牌吗?

2)我也通过使用键来做到这一点,例如:c1+c3 和 c1+c4 然后通过键进行连接,但是我必须通过日期重叠过滤所有结果,我认为添加日期重叠联接将导致生成的记录更少。

3)有没有一种有效的方法来进行自我连接,我匹配确切的列值,但我也在其他列之间进行一些比较?