使用argparse 函数在命令行定义读取文件位置及输出文件位置

目标,能在命令行设置读取文件的位置、写入文件的位置及文件名。
读取和写入的位置都在hdfs中,文件类型是parquet文件。

#-*- coding:utf-8 -*-
from pyspark.sql import SparkSession
import argparse
#建立集群连接
spark = SparkSession.builder.master("yarn-client").appName("yangyu").getOrCreate()

parser = argparse.ArgumentParser()
#增加读取位置参数
parser.add_argument("read_space", help="display a name of a table")
#写入位置参数
parser.add_argument("write_space", help="display a name of a space")
args = parser.parse_args()
#读取的位置
read_space = args.read_space
#写入的位置
write_space_name = args.write_space
#使用format函数调用参数,定义读取、写入位置
read_data_path = 'hdfs://bd01:8020/{}/part*.parquet'.format(read_space)
write_data_path = 'hdfs://bd01:8020/{}'.format(write_space_name)
#读取hdfs上parquet文件
df=spark.read.format('parquet').load(read_data_path)
#=========
中间可以写一些自定义的操作函数
#=========
#写入parquet文件在hdfs指定位置
df.repartition(1).write.mode('overwrite').parquet(write_data_path)
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值