Загрузка файла паркета в таблицу кустов, сохраненную как ошибка паркета - PullRequest
0 голосов
/ 02 октября 2019

Я просто пытаюсь создать таблицу в кусте, которая хранится в виде файла паркета, а затем преобразовать файл CSV, содержащий данные, в файл паркета, а затем загрузить его в каталог hdfs для вставки values.belowмоя последовательность, которую я делаю, но безрезультатно:

Сначала я создал таблицу в Hive:

CREATE external table  if not EXISTS db1.managed_table55 (dummy string)
stored as parquet
location '/hadoop/db1/managed_table55';

Затем я загрузил файл паркета в указанное выше местоположение hdfs, используя эту искру:

df=spark.read.csv("/user/use_this.csv", header='true')
df.write.save('/hadoop/db1/managed_table55/test.parquet', format="parquet")

Загружается, но здесь вывод ...... все нулевые значения: enter image description here

Вот исходные значения в use_this. CSV-файл, который я преобразовал в паркетный файл: enter image description here

Это доказательство того, что в указанном месте была создана папка таблицы (managed_table55) и файл (test.parquet): enter image description here

enter image description here

Есть идеи или предложения, почему это происходит? Я знаю, что, возможно, есть небольшая хитрость, но я не могу ее идентифицировать.

1 Ответ

2 голосов
/ 03 октября 2019

Когда вы записываете файл паркета в /hadoop/db1/managed_table55/test.parquet это место Попробуйте создать таблицу в том же месте и прочитать данные из таблицы улья.

Create Hive Table:

hive> CREATE external table  if not EXISTS db1.managed_table55 (dummy string)
stored as parquet
location '/hadoop/db1/managed_table55/test.parquet';

Pyspark:

df=spark.read.csv("/user/use_this.csv", header='true')
df.write.save('/hadoop/db1/managed_table55/test.parquet', format="parquet")
...