pyspark使用以下代碼從文本檔案讀取資料時,
spark = SparkSession.builder.master("local[*]").getOrCreate()
df = sqlContext.read.option("sep", "|").option("header", "false").csv('D:\\DATA-2021-12-03.txt')
我的資料文本檔案看起來像,
col1|cpl2|col3|col4
112 |4344|fn1 | home_a| extras| applied | <null>| <empty>
但我得到的輸出是,
col1|cpl2|col3|col4
112 |4344|fn1 | home_a
有沒有辦法為資料框添加那些缺失的列?
期待,
col1|cpl2|col3|col4|col5|col6|col7|col8
112 |4344|fn1 | home_a| extras| applied | <null>| <empty>
uj5u.com熱心網友回復:
您可以顯式指定架構,而不是推斷它。
from pyspark.sql.types import StructType,StructField, StringType, IntegerType
schema = StructType() \
.add("col1",StringType(),True) \
.add("col2",StringType(),True) \
.add("col3",StringType(),True) \
.add("col4",StringType(),True) \
.add("col5",StringType(),True) \
.add("col6",StringType(),True) \
.add("col7",StringType(),True) \
.add("col8",StringType(),True)
df = spark.read.option("sep", "|").option("header", "true").schema(schema).csv('70475571_data.txt')
輸出
---- ---- ---- ------- ------- --------- ------- --------
|col1|col2|col3| col4| col5| col6| col7| col8|
---- ---- ---- ------- ------- --------- ------- --------
|112 |4344|fn1 | home_a| extras| applied | <null>| <empty>|
---- ---- ---- ------- ------- --------- ------- --------
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/392882.html
上一篇:如何在python中重繪標準輸出
