相关疑难解决方法(0)

将索引列添加到现有 Spark 的 DataFrame

我使用 Java 操作 Spark 1.5。我需要将 ID/索引列附加到现有的 DataFrame,例如:

+---------+--------+
|  surname|    name|
+---------+--------+
|    Green|    Jake|
| Anderson|  Thomas|
| Corleone| Michael|
|    Marsh|   Randy|
|  Montana|    Tony|
|    Green|   Julia|
|Brenneman|    Eady|
|   Durden|   Tyler|
| Corleone|    Vito|
|   Madiro|     Mat|
+---------+--------+
Run Code Online (Sandbox Code Playgroud)

我希望每一行都附加索引,索引范围在1 和表记录数量之间。索引顺序并不重要,任何行都必须只包含唯一的 ID/索引。可以通过转换为 RDD 并附加索引行并转换为具有修改的 StructType 的 DataFrame 来完成,但是,如果我理解正确的话,此操作会消耗大量资源用于转换等,并且必须有另一种方法。结果必须是这样的:

+---------+--------+---+
|  surname|    name| id|
+---------+--------+---+
|    Green|    Jake|  3|
| Anderson|  Thomas|  5|
| Corleone| Michael|  2|
|    Marsh|   Randy| 10|
|  Montana|    Tony|  7|
| …
Run Code Online (Sandbox Code Playgroud)

java apache-spark

5
推荐指数
1
解决办法
2万
查看次数

sc.textFile之后的zipWithIndex会给出正确的行号吗?

说如果我这样做,如下所示.

val rdd = sc.textFile("someFile.txt")
val rddWithLines = rdd.zipWithIndex
Run Code Online (Sandbox Code Playgroud)

zipWithIndex添加的索引是否与输入文件中的行号(当然第一行为0)相对应?或者在这种情况下订单是否破裂?

scala apache-spark

4
推荐指数
1
解决办法
671
查看次数

如何在Spark Table中创建索引?

我知道Spark Sql与Hive几乎相同。

现在,我已经创建了一个表,并且在执行Spark sql查询以创建表索引时,它总是给我这个错误:

SQL语句中的错误:AnalysisException:输入索引不匹配”期望AS在创建索引语句中靠近')'

测试台

我正在使用的Spark sql查询是:

CREATE INDEX word_idx ON TABLE t (id)
Run Code Online (Sandbox Code Playgroud)

id的数据类型为bigint。在此之前,我还尝试在此表的“ word”列上创建表索引,它给了我同样的错误。

那么,是否有通过Spark sql查询创建索引的方法呢?

indexing apache-spark-sql

3
推荐指数
1
解决办法
1万
查看次数

如何将两列合并到一个新的 DataFrame 中?

我有两个数据帧(Spark 2.2.0 和 Scala 2.11.8)。第一个 DataFramedf1有一列称为col1,第二个df2也有 1 列称为col2。两个 DataFrame 中的行数相等。

如何将这两列合并到一个新的 DataFrame 中?

我试过了join,但我认为应该有其他方法来做到这一点。

另外,我尝试应用withColumm,但它无法编译。

val result = df1.withColumn(col("col2"), df2.col1)
Run Code Online (Sandbox Code Playgroud)

更新:

例如:

df1 = 
col1
1
2
3

df2 = 
col2
4
5
6

result = 
col1  col2
1     4
2     5
3     6
Run Code Online (Sandbox Code Playgroud)

scala dataframe apache-spark

3
推荐指数
1
解决办法
3933
查看次数

如何在 Apache Spark 中反转排列 DataFrame

如何使用 Scala 反转此 DataFrame。我看到了sort函数,但必须是特定的列,我只想反转它们

+---+--------+-----+
|id |    name|note |
+---+--------+-----+
|1  | james  |any  |
|3  | marry  |some |
|2  | john   |some |
|5  | tom    |any  |
+---+--------+-----+
Run Code Online (Sandbox Code Playgroud)

到:

+---+--------+-----+
|id |    name|note |
+---+--------+-----+
|5  | tom    |any  |
|2  | john   |some |
|3  | marry  |some |
|1  | james  |any  |
+---+--------+-----+
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-sql

3
推荐指数
1
解决办法
1128
查看次数