pyspark —— spark dataframe 从hdfs读写文件:按照指定文件格式读写文件(读写csv、json、text文件,读取hive表,读取MySQL表)、按照指定分隔符读写文件

spark有3种数据结构——RDD、DataFrame、DataSet。这里展示的文件读写方式,都是针对dataFrame数据结构的,也就是文件读进来之后,是一个spark dataFrame。

0、首先连接spark

from pyspark.sql import SparkSession # SparkConf、SparkContext 和 SQLContext 都已经被封装在 SparkSession
spark=SparkSession \
        .builder \
        .appName('my spark task') \
        .getOrCreate()

1、读写hdfs上的文件

SparkSession在读取【hdfs上文件】的时候,可以指定读取文件的格式,支持的文件格式有json, parquet, jdbc, orc, libsvm, csv, text。

1.1 读写hdfs上的文件 ——> 读写csv、json、text文件

【读取】:按照csv文件格式,读取文件

其余的文件格式只需将csv变成相应的文件格式名称即可

from pyspark.sql.types import IntegerType, DoubleType, StringType, StructType, StructField
# 文件在hdfs上的位置
file_path = r"/user/lanyue/data.csv"  
# 指定文件的schema
schema = StructType([
        StructField("column_1", StringType(), True), # nullable=True代表此字段的值不为空
        StructField("column_2", StringType(), True),
        StructField("column_3", StringType(), True),
        ])

# 方法一
# 推荐这种,指定什么文件格式都可以,只需要修改参数format即可
# 不同的格式其load函数会有不同,用的时候请自行搜索。
df = spark.read.format("csv").load(file_path, header=True, inferSchema=True, encoding=
  • 5
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值