zoukankan      html  css  js  c++  java
  • Pyspark读取csv文件

    #_*_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://my_master:8020/user/root/data_spark.csv")
    或者:
    df = spark.read.format("csv").option("encoding","gbk").option("header",True).load(r"hdfs://tmaster:8020/user/root/data_spark.csv", schema=schema) 
    
    # 写csv,例如追加数据格式为:
    df.write.mode('append').option().option().format().save() 
    
    #注意:以上数据建立在csv的第一行是列名的情况下,不是列名时,应该去掉header属性

    参考:

    https://blog.csdn.net/zpf336/article/details/90760384

    https://blog.csdn.net/wc781708249/article/details/78251701

  • 相关阅读:
    java中如何使正在运行中的线程退出
    Java如何等待子线程执行结束
    java解析xml几种方式
    【Flask】配置参数
    【Flask】Session
    【Flask】jinja2
    【Flask】Request
    【Flask】Respones
    【Flask】路由系统
    【Flask】认识Flask
  • 原文地址:https://www.cnblogs.com/qi-yuan-008/p/11771473.html
Copyright © 2011-2022 走看看