我在目录下有4个文件,一个文件缺少一个包含该列数据的列
但是当我加载到火花DF时,它没有添加第二列而没有填充空白
file1.csv
name| first|second|
female| raj| tarun|
file2.csv
name| first|second|
female| raj| tarun|
file3.csv
name| first|second|
female| raj| tarun|
file4.csv
name| second|
female| tarun|
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
from pyspark import SparkConf, SparkContext
un = sqlContext.read.format('com.databricks.spark.csv').options(header='true', inferschema='true').option("delimiter",",").load('/dir/test/')
un.show()
un.registerTempTable("un1")
queryresult1 = sqlContext.sql("select DISTINCT hashedId from un1 ")
queryresult1.show()
Output is : why second column is not filling with nul and third column did not shifted
+------+------+------+
| name| first|second|
+------+------+------+
|female| raj| tarun|
|female| raj| tarun|
|female| raj| tarun|
| name|second| null|
|female| tarun| null|
我在目录下有4个文件,一个文件缺少一个包含该列数据的列
但是当我加载到火花DF时,它没有添加第二列而没有填充空白
答案 0 :(得分:0)
没有完全检查过,但下面的代码应该让你开始:
RRP$
说明:作为RDD读入并在管道分隔符上拆分。过滤以消除每个分区中的标题行。然后,在缺少列的情况下(即rdd元素的长度为2),填充空值。最后转换为数据帧。