Я пытаюсь скопировать файлы из локальной папки в папку HDFS в pyspark, используя следующий код.
sc = SparkSession.builder.appName("HDFSPySparkRead").getOrCreate()
sparkCont = sc.sparkContext
URI = sparkCont._jvm.java.net.URI
Path = sparkCont._jvm.org.apache.hadoop.fs.Path
FileSystem = sparkCont._jvm.org.apache.hadoop.fs.FileSystem
Configuration = sparkCont._jvm.org.apache.hadoop.conf.Configuration
fs = FileSystem.get(URI("hdfs://gcgmwdcuat:8020"), Configuration())
fs.copyFromLocalFile('/home/ak18191/ar_new.txt', 'hdfs://gcgmwdcuat:8020/user/ak18191/')
Ошибка получения:
py4j.Py4JException: метод copyFromLocalFile ([class java .lang.String, класс java .lang.String]) не существует
Я также пробовал ниже код
import subprocess
cmd = 'hdfs dfs -put -f /home/ak18191/ar_new.txt hdfs://gcgmwdcuat:8020/user/ak18191/'
subprocess.call(cmd)
Но при получении файла не найдена ошибка , Команда успешно выполняется в spark-shell. Пожалуйста, помогите!