Ошибка URI pyspark при чтении файла s3 с символом «:» в имени файла - PullRequest
0 голосов
/ 05 февраля 2019

Я не могу прочитать файлы json с корзины s3.Это код, который я использую:

import os
os.environ['PYSPARK_SUBMIT_ARGS'] = "--packages=org.apache.hadoop:hadoop-aws:2.7.3 pyspark-shell"
from pyspark import SparkConf, SparkContext

conf = SparkConf().setMaster("local").setAppName("My App")
conf.set("spark.default.parallelism", 10)
sc = SparkContext(conf = conf)

access_id = 'key'
access_key = 'key'

hadoop_conf=sc._jsc.hadoopConfiguration()
hadoop_conf.set("fs.s3n.impl", "org.apache.hadoop.fs.s3native.NativeS3FileSystem")
hadoop_conf.set("fs.s3n.awsAccessKeyId", access_id)
hadoop_conf.set("fs.s3n.awsSecretAccessKey", access_key)


rdd = sc.textFile("s3n://oms-messages/NEW/2019-01-30/*.json")
rdd.count()

, когда я запускаю rdd.count (), я получаю ошибку:

y4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe.
: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: 09:23:35.096875.json

Я попытался загрузить корзину локально и заменить':' with '-', и это сработало, поэтому я предполагаю, что ':' в имени файла является проблемой здесь.Есть ли способ прочитать их без изменения имен файлов?

Спасибо,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...