【大数据】PySpark 使用 FileSystem 操作 HDFS

需求:spark 可以直接使用 textFile 读取 HDFS,但是不能判断 hdfs 文件是否存在,不过 pyspark 可以调用 java 程序,因此可以调用 FileSystem来实现:

# coding=utf-8

from pyspark import SparkContext

sc = SparkContext(appName="check_hdfs_exists")
jvm = sc._jvm
log4jLogger = jvm.org.apache.log4j
logger = log4jLogger.LogManager.getLogger(__name__)

config = jvm.org.apache.hadoop.conf.Configuration()
file_system = jvm.org.apache.hadoop.fs.File.System.get(config)

path = jvm.org.apache.hadoop.fs.Path("hdfs://hacluster/xxxxx")
path_is_exists = file_system.exists(path)
posted @ 2021-12-26 21:47  Hubery_Jun  阅读(1231)  评论(0编辑  收藏  举报