相关疑难解决方法(0)

如何转动DataFrame?

我开始使用Spark DataFrames,我需要能够透过数据来创建多列的1列中的多列.在Scalding中有内置的功能,我相信Python中的Pandas,但我找不到任何新的Spark Dataframe.

我假设我可以编写某种类型的自定义函数,但是我甚至不确定如何启动,特别是因为我是Spark的新手.我有人知道如何使用内置功能或如何在Scala中编写内容的建议,非常感谢.

pivot scala dataframe apache-spark apache-spark-sql

52
推荐指数
5
解决办法
4万
查看次数

如何融化Spark DataFrame?

PySpark中的Apache Spark中是否存在等效的Pandas Melt函数,或者至少在Scala中?

我到目前为止在python中运行了一个示例数据集,现在我想将Spark用于整个数据集.

提前致谢.

melt apache-spark apache-spark-sql pyspark

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

使用Spark将列转换为行

我正在尝试将我的表的某些列转换为行.我正在使用Python和Spark 1.5.0.这是我的初始表:

+-----+-----+-----+-------+
|  A  |col_1|col_2|col_...|
+-----+-------------------+
|  1  |  0.0|  0.6|  ...  |
|  2  |  0.6|  0.7|  ...  |
|  3  |  0.5|  0.9|  ...  |
|  ...|  ...|  ...|  ...  |
Run Code Online (Sandbox Code Playgroud)

我想有这样的事情:

+-----+--------+-----------+
|  A  | col_id | col_value |
+-----+--------+-----------+
|  1  |   col_1|        0.0|
|  1  |   col_2|        0.6|   
|  ...|     ...|        ...|    
|  2  |   col_1|        0.6|
|  2  |   col_2|        0.7| 
|  ...|     ...|        ...|  
|  3  |   col_1|        0.5|
|  3  | …
Run Code Online (Sandbox Code Playgroud)

python transpose pivot apache-spark

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

Spark支持融化和dcast

我们使用melt和dcast来转换宽 - >长 - 长 - >宽格式的数据.有关详细信息,请参阅http://seananderson.ca/2013/10/19/reshape.html.

scala或SparkR都可以.

我已经浏览了这个博客scala函数以及R API.我没有看到做类似工作的功能.

Spark中有任何等效功能吗?如果没有,在Spark中有没有其他方法可以做到这一点?

scala r melt apache-spark spark-dataframe

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

Pyspark - 将多列数据组合成跨行分布的单列

我有一个多列的 pyspark 数据框,如下所示:

name    col1    col2    col3
A        1        6       7
B        2        7       6
C        3        8       5
D        4        9       4
E        5        8       3
Run Code Online (Sandbox Code Playgroud)

我想通过将 col1、col2、col3 的列名和列值组合成两个新列,例如 new_col 和 new_col_val,跨行创建一个新的数据框:

在此处输入图片说明

我使用以下代码在 R 中做了同样的事情:

df1 <- gather(df,new_col,new_col_val,-name)
Run Code Online (Sandbox Code Playgroud)

我想创建 3 个单独的数据帧,它们将包含原始数据帧中的每一列,然后将它们附加在一起,但我的数据有超过 2500k 行和大约 60 列。创建多个数据框将是最糟糕的主意。谁能告诉我如何在 pyspark 中执行此操作?

python apache-spark pyspark

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

如何取消旋转大型火花数据框?

unpivot当列数相当低并且列的名称可以硬编码时,我已经看到了一些火花数据框的解决方案。您是否有可扩展的解决方案来对包含多列的数据框进行逆透视?

下面是一个玩具问题。

输入:

  val df = Seq(
    (1,1,1,0),
    (2,0,0,1)    
  ).toDF("ID","A","B","C")

+---+--------+----+
| ID|  A | B | C  |
+---+--------+-----
|  1|  1 | 1 | 0  |
|  2|  0 | 0 | 1  |
+---+----------+--+
Run Code Online (Sandbox Code Playgroud)

预期结果:

+---+-----+-----+
| ID|names|count|
+---+-----------|
|  1|  A  |  1  |
|  1|  B  |  1  |
|  1|  C  |  0  |
|  2|  A  |  0  |
|  2|  B  |  0  |
|  2|  C  |  1  |
+---+-----------+ …
Run Code Online (Sandbox Code Playgroud)

scala unpivot apache-spark

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