我是新来的Spark,我有一个问题。我有两个步骤,第一步是将success.txt文件写入hdfs上的某个位置。我的第二步是spark作业,它必须在开始处理数据之前验证success.txt文件是否存在。
我检查了sparkapi,没有找到任何检查文件是否存在的方法。你知道怎么处理吗?
我找到的唯一方法是sc.textfile(hdfs:///success.txt).count(),它会在文件不存在时引发异常。我必须捕获这个异常并相应地编写程序。我真的不喜欢这种方法。希望找到更好的选择。
我是新来的Spark,我有一个问题。我有两个步骤,第一步是将success.txt文件写入hdfs上的某个位置。我的第二步是spark作业,它必须在开始处理数据之前验证success.txt文件是否存在。
我检查了sparkapi,没有找到任何检查文件是否存在的方法。你知道怎么处理吗?
我找到的唯一方法是sc.textfile(hdfs:///success.txt).count(),它会在文件不存在时引发异常。我必须捕获这个异常并相应地编写程序。我真的不喜欢这种方法。希望找到更好的选择。
8条答案
按热度按时间sycxhyv71#
对于java程序员;
q9rjltbz2#
对于pyspark python用户:
我没有找到任何关于python或pyspark的东西,所以我们需要从python代码执行hdfs命令。这对我有用。
获取文件夹是否存在的hdfs命令:如果为真,则返回0
获取文件是否存在的hdfs命令:如果为真,则返回0
为了将其放入python代码中,我遵循以下代码行:
如果文件夹存在,则输出:
文件夹存在0
6yoyoihd3#
对于Pypark:
vyswwuz24#
对于hdfs中的文件,可以使用hadoop方法来执行以下操作:
pxiryf3j5#
我要说的是,调用这个函数的最好方法是在传统的hadoop文件检查中内部检查文件的存在。
b1zrtrql6#
对于pyspark,您可以通过以下方式实现这一点,而无需调用子流程:
5t7ly7z57#
使用dbutils:
plupiseo8#
对于spark 2.0或更高版本,可以使用hadoop.fr.filesystem的exist方法
:
Spark1.6至2.0