как читать несколько текстовых файлов в фрейм данных в pyspark - PullRequest
1 голос
/ 18 июня 2020

У меня есть несколько файлов txt в каталоге (у меня есть только путь, а не имена файлов), которые содержат json данные, и мне нужно прочитать их все в фрейм данных.

Я пробовал это:

df=sc.wholeTextFiles("path/*")

, но я даже не могу отобразить данные, и моя главная цель - различными способами выполнять запросы к данным.

1 Ответ

1 голос
/ 18 июня 2020

Вместо wholeTextFiles (дает ключ, пару значений с ключом в качестве имени файла и данными в качестве значения),

Попробуйте с read.json и дайте свой Искра имени каталога прочитает все файлы в каталоге в фрейм данных.

df=spark.read.json("<directorty_path>/*")
df.show()

Из документов:

wholeTextFiles(path, minPartitions=None, use_unicode=True)

Прочтите каталог текстовых файлов из HDFS, локальной файловой системы (доступной на всех узлах) или любого URI файловой системы, поддерживаемого oop. Каждый файл читается как отдельная запись и возвращается в виде пары ключ-значение, где ключ - это путь к каждому файлу, значение - это содержимое каждого файла.

Примечание. Маленькие файлы предпочтительны, так как каждый файл будет полностью загружен в память.

...