小编Sil*_*ose的帖子

Spark:scala rdd中的group concat等价物

我有以下DataFrame:

    |-----id-------|----value------|-----desc------|
    |     1        |     v1        |      d1       |
    |     1        |     v2        |      d2       |
    |     2        |     v21       |      d21      |
    |     2        |     v22       |      d22      |
    |--------------|---------------|---------------|
Run Code Online (Sandbox Code Playgroud)

我想把它变成:

    |-----id-------|----value------|-----desc------|
    |     1        |     v1;v2     |      d1;d2    |
    |     2        |     v21;v22   |      d21;d22  |
    |--------------|---------------|---------------|
Run Code Online (Sandbox Code Playgroud)
  • 是否可以通过数据框操作?
  • 在这种情况下,rdd转换会如何?

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

scala group-concat apache-spark rdd spark-dataframe

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

Spark Scala 2.10元组限制

我有66个要处理的DataFrame(几乎每个列值都需要更改)所以我正在运行以下语句

    val result = data.map(row=> (
        modify(row.getString(row.fieldIndex("XX"))),
        (...)
        )
    )
Run Code Online (Sandbox Code Playgroud)

直到第66列.由于此版本中的scala限制为22对的最大元组,因此无法执行此操作.问题是,有什么解决方法吗?在所有行操作之后,我将其转换为具有特定列名称的df

   result.toDf("c1",...,"c66")
   result.storeAsTempTable("someFancyResult")
Run Code Online (Sandbox Code Playgroud)

"修改"功能只是一个展示我观点的例子

scala tuples limit dataframe apache-spark

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