Hive 镶木地板格式的蜂巢桌负载

Hive 镶木地板格式的蜂巢桌负载,hive,parquet,Hive,Parquet,我有下面的输入文件。我需要以orc和拼花格式将此文件加载到配置单元表中 productID、productCode、名称、数量、价格、供应商ID 1001,钢笔,红色钢笔,5000,1.23501 1002,钢笔,蓝色钢笔,8000,1.25501 我已将代码粘贴在底部。我能够成功地在兽人蜂巢桌子上创建和加载,但不能在拼花地板上 在创建和加载拼花地板表之后,当我查询时,我只看到所有字段的空值。我遗漏了什么吗 val productsupplies = sc.textFile("/user/clo

我有下面的输入文件。我需要以orc和拼花格式将此文件加载到配置单元表中

productID、productCode、名称、数量、价格、供应商ID 1001,钢笔,红色钢笔,5000,1.23501 1002,钢笔,蓝色钢笔,8000,1.25501

我已将代码粘贴在底部。我能够成功地在兽人蜂巢桌子上创建和加载,但不能在拼花地板上

在创建和加载拼花地板表之后,当我查询时,我只看到所有字段的空值。我遗漏了什么吗

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")
尝试:


基本上,名称必须与上载文件中使用的名称相同。

Hi。。谢谢你的回复。我试过了,但效果不太好。不确定文件名在这里是否真的重要。是的。用你自己的名字。道歉。我误解了你先前的评论。是的,我更改了与数据框列名相同的表列名,并使用该文件进行加载。成功了。非常感谢你!
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\" ")