#_*_coding:utf-8_*_
# spark读取csv文件
#指定schema:
schema = StructType([
# true代表不为null
StructField("column_1", StringType(), True), # nullable=True, this field can not be null
StructField("column_2", StringType(), True),
StructField("column_3", StringType(), True),
]
)
#方法一
df = spark.read.csv(r"hdfs://my_master:8020/user/root/data_spark.csv", encoding='gbk', header=True, inferSchema=True) # header表示数据的第一行是否为列名,inferSchema表示自动推断schema,此时未指定schema
或者:
df = spark.read.csv(r"hdfs://my_master:8020/user/root/data_spark.csv", encoding='gbk', header=True, schema=schema)#使用指定的schema
#方法二
df = spark.read.format("csv").option("header",True).option("encoding", "gbk").load(r"hdfs: