【问题标题】:Hive table load in Parquet formatParquet 格式的 Hive 表加载
【发布时间】:2019-01-31 07:06:01
【问题描述】:

我有以下输入文件。我需要以 orc 和 parquet 格式将此文件加载到 hive 表中。

productID,productCode,name,quantity,price,supplierid 1001,PEN,笔红,5000,1.23,501 1002,笔,蓝色笔,8000,1.25,501

我已将代码粘贴在底部。我能够成功地在 orc hive 表中创建和加载,但不能在镶木地板中。

创建和加载 parquet 表后,当我查询时,我只看到所有字段的 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")

【问题讨论】:

    标签: hive parquet


    【解决方案1】:

    试试:

    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\" ")
    

    基本上,名称必须与您在文件中用于上传的名称相同。

    【讨论】:

    • 嗨.. 感谢您的回复。我试过这个,但效果不佳。不确定文件名在这里是否真的很重要。
    • 是的。使用你自己的名字。
    • 道歉。我误解了你之前的评论。是的,我更改了与我的数据框列名相同的表列名,并使用该文件加载。有效。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 2020-02-01
    • 2017-09-15
    • 1970-01-01
    • 2018-06-21
    • 2021-04-19
    • 1970-01-01
    相关资源
    最近更新 更多