Scala - запись данных в файл в двоичном виде - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть таблица кустов типа parquet со столбцом Content, в которой хранятся различные документы в кодировке base64.

Теперь мне нужно прочитать этот столбец и записать в файл в HDFS, чтобы base64столбец будет преобразован обратно в документ для каждой строки.

val profileDF = sqlContext.read.parquet("/hdfspath/profiles/");
profileDF.registerTempTable("profiles")
val contentsDF = sqlContext.sql(" select unbase64(contents) as contents from profiles where file_name'file1'")

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

Оцените любую помощь по этому поводу.

1 Ответ

0 голосов
/ 11 сентября 2018

Я бы предложил сохранить как паркет:

https://spark.apache.org/docs/1.6.3/api/java/org/apache/spark/sql/DataFrameWriter.html#parquet(java.lang.String)

Или преобразовать в RDD и сохранить как объект:

https://spark.apache.org/docs/1.6.3/api/java/org/apache/spark/rdd/RDD.html#saveAsObjectFile(java.lang.String)

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