如何在 Spark 数据帧中创建动态列



阅读一本关于Spark的书。我可以创建具有多行的单列的数据帧/数据集,如下所示

val df = spark.range(10).toDF
df.count             #=> 10
df.printSchema       #=> id: long (nullable = false)

有没有办法动态创建具有多个列的数据帧/数据集?

我正在尝试做的是创建一个包含数千列的数据帧。因此,寻找动态创建它们的方法。

其中一种方法是执行以下操作

Seq(1 to 10 match{
  case Seq(a, b, c, d, e, f, g, h, i, j) => (a, b, c, d, e, f, g, h, i, j)
}).toDF()

应该给你

+---+---+---+---+---+---+---+---+---+---+
|_1 |_2 |_3 |_4 |_5 |_6 |_7 |_8 |_9 |_10|
+---+---+---+---+---+---+---+---+---+---+
|1  |2  |3  |4  |5  |6  |7  |8  |9  |10 |
+---+---+---+---+---+---+---+---+---+---+

我希望答案对您有所帮助

编辑

如果你想在pyspark中做上述转换,你可以执行以下操作

sqlContext.createDataFrame([tuple(list(range(1,11)))])

您应该具有与上述相同的dataframe

相关内容

  • 没有找到相关文章

最新更新