Как преобразовать JSON документы в файл Parquet / OR C - PullRequest
0 голосов
/ 23 января 2020

Можно ли преобразовать JSON в формат Parquet / OR C?

Я преобразовал данные CSV / TSV в Parquet, выполнив следующие шаги в HIVE

1: Create an external HIVE Table with TSV data source and TSV serde.
2: Create a normal HIVE table with Parquet serde.
3: INSERT INTO ParquetTable SELECT * FROM ParquetTable.

Итак вопрос в том, можно ли аналогичным образом преобразовать JSON в паркет или мне сначала нужно сгладить данные JSON?

1 Ответ

1 голос
/ 24 января 2020

Это легко сделать с помощью библиотеки Apache Spark.

Предварительные условия: Данные должны быть одинарными JSON. Поскольку библиотека Spark DataSource не поддерживает многострочные JSON.

Ниже приведен пример кода с использованием Spark 2.x:

 val spark = SparkSession.builder()
  .master("local")
  .getOrCreate()

val inpDF = spark.read.json("<inputPath>")
// Auto schema Inference 
inpDF.printSchema()
inpDF.write.parquet("<outputPath>")

с одной линией JSON: {"Device":{"Brand":"Apple","Model":"Iphone11Pro"}}

Многолинейный JSON: { "Device": { "Brand":"Apple", "Model":"Iphone11Pro" } }

...