我有一个带有这种形式的 RDD[String]:
VAR1,VAR2,VAR3,VAR4, ...
a , b , c , d , ...
e , f , g , h , ...
Run Code Online (Sandbox Code Playgroud)
这意味着第一行是我的标题逗号分隔,所有以下行都是我的数据,也是逗号分隔。
我的目的是将该非结构化 RDD 转换为这样的 DataFrame:
_____________________
|VAR1|VAR2|VAR3|VAR4|
|----|----|----|----|
| a | b | c | d |
| e | f | g | h |
Run Code Online (Sandbox Code Playgroud)
我尝试使用 toDF() 方法,它将 RDD[tuples] 转换为 Dataframe。但是从 RDD[String] 到 RDD[tuples] 的转换对于我的变量数量(超过 200 个)来说听起来不切实际。
另一种解决方案应该是使用该方法
sqlContext.createDataFrame(rdd, schema)
Run Code Online (Sandbox Code Playgroud)
这需要将我的 RDD[String] 转换为 RDD[Row] 并将我的标题(RDD 的第一行)转换为模式:StructType,但我不知道如何创建该模式。
任何将 RDD[String] 转换为带有标头的数据帧的解决方案都会非常好。
提前致谢。