需求: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)













网友评论