Чтение Pyspark json: java. net .URISyntaxException: Относительный путь в абсолютном URI - PullRequest
1 голос
/ 28 февраля 2020

Я пишу приложение pyspark, которое читает json файлы (из относительного пути), хранящиеся в S3.

rdd= spark.read.json("s3://data/19-11-*/Test-*.json", multiLine=True)

И я получаю исключение, потому что папка 19- 11-15 содержит имя файла, которое содержит ":".

java.net.URISyntaxException: Relative path in absolute URI: draft_311819_2019-11-05T17:09:22.812Z.json'
Traceback (most recent call last):
  File "/usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/readwriter.py", line 274, in json
    return self._df(self._jreader.json(self._spark._sc._jvm.PythonUtils.toSeq(path)))
  File "/usr/lib/spark/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py", line 1257, in __call__
    answer, self.gateway_client, self.target_id, self.name)
  File "/usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/utils.py", line 79, in deco
    raise IllegalArgumentException(s.split(': ', 1)[1], stackTrace)

Я понимаю, что spark / had oop не принимает имена файлов, содержащие ":", но я ожидал, что Spark начнет читать только файлы, начинающиеся с с "Test", который явно не соответствует имени файла "draft_311819_2019-11-05T17: 09: 22.812Z. json".

Файлы, начинающиеся с черновика, создаются другим приложением, и я не могу изменить их имена для удаления ":".

Когда я нацеливаюсь на указанную папку c 19-11-15, приложение работает просто отлично: ошибки не возникает.

rdd= spark.read.json("s3://data/19-11-15/Test-*.json", multiLine=True)

Не могли бы вы есть идеи как преодолеть эту проблему?

спасибо.

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