pyspark常用语法_读取各类数据源

本文介绍了Apache Spark在处理CSV、Parquet和JSON文件的读写操作,包括读取Hive表和连接MySQL数据库的方法。示例代码详细展示了如何使用SparkSession进行数据读取和保存,以及如何调整分区和覆盖已有数据。
摘要由CSDN通过智能技术生成
想了解更多,欢迎移步"文渊小站"

里面有更多知识分享,以及一些有意思的小项目~

环境

spark 2.4.0

1 读写 csv文件
# 读csv
file_path = r"xx/xx/xx/"   # 可以是文件路径,也可以是文件名
# df = spark.read.csv(file_path, header=True, inferSchema=True)
df = spark.read.format('csv').option("header", "true").option("inferSchema", "true").csv(file_path)
# 写csv
# df.write.csv(file_path)
df.write.save(path=file_path, format='csv', mode='overwrite', sep=',', header=True)
# df.repartition(1).write.save(path=file_path, format='csv', mode='overwrite', sep=',', header=True)    # 写成1个csv文件
2 读写 parquet文件
# 读parquet
file_path = r"xx/xx/xx/"
df_buzz_country = spark.read.parquet(file_path)
# 写parquet
df.write.parquet(file_path, mode="overwrite")
# df.repartition(1).write.parquet(file_path, mode="overwrite")   # 写成1个parquet文件
3 读写 json文件
# 读csv
file_path = r"xx/xx/xx.json"
peopleDF = spark.read.json(file_path)
# 写csv
df.write.json(file_path)
4 读 hive
spark = SparkSession.builder.appName("task_read_hive").enableHiveSupport().getOrCreate()
df = spark.sql("select * from table_1")
5 读 mysql
# spark-submit 中,需要配置如下(即添加‘mysql-connector-java-5.1.47.jar’包):
# --jars xxx/xxx/mysql-connector-java-5.1.47.jar
mysql_url = 'jdbc:mysql://域名或ip:3306/数据库名?characterEncoding=UTF-8'
mysql_user = 'xxx'
mysql_pw = 'xxx'
table = "(select * from table_A) a"
df = spark.read.format('jdbc').options(url=mysql_url, driver='com.mysql.jdbc.Driver', dbtable=table,
                                       user=mysql_user, password=mysql_pw).load()
想了解更多,欢迎移步"文渊小站"

里面有更多知识分享,以及一些有意思的小项目~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值