Загрузка таблицы улья в формате Parquet - PullRequest
0 голосов
/ 24 августа 2018

У меня есть ниже входной файл. Мне нужно загрузить этот файл в таблице улья в формате orc и parquet.

PRODUCTID, ProductCode, наименование, количество, цена, SupplierID 1001, PEN, Pen Red, 5000,1.23,501 1002, ручка, синяя ручка, 8000,15,201

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

После создания и загрузки таблицы паркета при запросе я вижу только значения NULL для всех полей. Я что-то пропустил?

val productsupplies = sc.textFile("/user/cloudera/product.csv")
val productfirst = productsupplies.first
val product = productsupplies.filter(f => f != productfirst).map(x => { val a = x.split(",")
(a(0).toInt,a(1),a(2),a(3),a(4).toFloat,a(5))
}).toDF("productID","productCode","name","quantity","price","supplierid")




product.write.orc("/user/cloudera/productsupp.orc")
product.write.parquet("/user/cloudera/productsupp.parquet")


 val hc = new org.apache.spark.sql.hive.HiveContext(sc)

hc.sql("create table product_supp_orc ( " + 
"product_id int, " + 
"product_code string, " + 
"product_name string, " + 
"product_quatity string, " + 
"product_price float, " + 
"product_supplier_id string) stored as orc " + 
"location \"/user/cloudera/productsupp.orc \" ")





hc.sql("create table product_supp_parquet ( " + 
"product_id int, " + 
"product_code string, " + 
"product_name string, " + 
"product_quatity string, " + 
"product_price float, " + 
"product_supplier_id string) stored as parquet " + 
"location \"/user/cloudera/productsupp.parquet\" ")




hc.sql("select * from product_supp_parquet")

1 Ответ

0 голосов
/ 25 августа 2018

Попробуйте:

hc.sql("create table product_supp_parquet ( " + 
"productid int, " + 
"productcode string, " + 
"name string, " + 
"quantity string, " + 
"price float, " + 
"supplierid string) stored as parquet " + 
"location \"/user/cloudera/products.parquet\" ")

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

...