Dataframe spark scala数据帧中所有列的值均为空
我有以下数据集作为输入Dataframe spark scala数据帧中所有列的值均为空,dataframe,apache-spark,apache-spark-sql,Dataframe,Apache Spark,Apache Spark Sql,我有以下数据集作为输入 816|27555832600|01|14|25| | 825|54100277425|14|03|25|15| 9003|54100630574| | | | | 809|51445926423|12|08|25|17| 将以下内容作为输出: null|null|null|null|null|null| 825|54100277425| 14| 3| 25| 15| null|null|null|null|null|null| 80
816|27555832600|01|14|25| |
825|54100277425|14|03|25|15|
9003|54100630574| | | | |
809|51445926423|12|08|25|17|
将以下内容作为输出:
null|null|null|null|null|null|
825|54100277425| 14| 3| 25| 15|
null|null|null|null|null|null|
809|51445926423| 12| 8| 25| 17|
预期产量
我尝试了下面的代码来加载.txt或.bz2文件
val dataset = sparkSession.read.format(formatType)
.option("DELIMITER", "|"))
.schema(schema_new)
.csv(dataFilePath)
我试过你的问题陈述。我正在使用Spark 3.0.1版本来解决这个用例。它按预期工作。请尝试下面的代码片段
val sampleDS = spark.read.options(Map("DELIMITER"->"|")).csv("D:\\DataAnalysis\\DataSample.csv")
sampleDS.show()
Output ->
+----+-----------+---+---+---+---+---+
| _c0| _c1|_c2|_c3|_c4|_c5|_c6|
+----+-----------+---+---+---+---+---+
| 816|27555832600| 01| 14| 25| | |
| 825|54100277425| 14| 03| 25| 15| |
|9003|54100630574| | | | | |
| 809|51445926423| 12| 08| 25| 17| |
+----+-----------+---+---+---+---+---+
考虑输入数据中是否有空行
添加空行后输入数据
816|27555832600|01|14|25| |
825|54100277425|14|03|25|15|
9003|54100630574| | | | |
||||
809|51445926423|12|08|25|17|
读取数据后,只需使用sampleDS.na.drop.show()
删除空白或空数据
<强>请注意,如果只有空行,则在数据文件中不考虑星火。Spark在读取自身时删除空行。
您尝试的代码是什么..val dataset=sparkSession.read.format(“text”).option(“DELIMITER”、“|”).schema(schema_new).csv(dataFilePath)文件中可能有空行..删除它,然后tryi应该使用trim()删除空格的权利您正在提供的架构是什么。我的意思是您可以提供您的架构吗?新建。我的文件是.txt格式的,我不能像您提到的那样构造架构。我在您的语法中遇到错误。目前我正在尝试下面的代码。val dataset=sparkSession.read.format(formatType)。option(“DELIMITER”,“|”)。架构(schema_new).csv(dataFilePath)您到底得到了什么错误?错误已经消失,但输出是相同的..整行为null instedi在我的数据中没有任何空行。我有几个列没有任何值(仅包含2个空格),并且在输出中整行为null。816|27555832600|01|14|25| |
825|54100277425|14|03|25|15|
9003|54100630574| | | | |
||||
809|51445926423|12|08|25|17|