我将使用以下代码在Hive中创建一个外部表:
CREATE EXTERNAL TABLE product(productID int, code string, name string, quantity int, price float)
STORED AS orc
LOCATION "user/hive/warehouse/product_orc_table_new";
但是,失败了:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:java.lang.IllegalArgumentException: java.net.URISyntaxE
xception: Relative path in absolute URI: hdfs://nn01.itversity.com:8020./user/hive/warehouse/product_orc_table_new)
在创建外部表之前,我在Sparkshell中创建了一个名为product_orc_table_new的数据框,其格式为orc。
另外,我可以在Hive外壳中使用SHOW TABLES;
找到此“ product_orc_table_new”表。
但是,在运行hdfs dfs -ls /user/hive/warehouse
之后,我没有找到表“ product_orc_table_new”。
我很困惑为什么可以在Hive Shell中找到表,而不能在hdfs hive /仓库文件夹中找到表
在上一步中,我使用了
proDF.write.mode(SaveMode.Overwrite).format("orc").saveAsTable("product_orc_table_new")
创建“ product_orc_table_new”表,proDF是dataframeRDD。
我想知道我在哪一步出错了?如何成功创建配置单元表? 请帮忙,谢谢!