shell - 创建Hive表的Shell脚本

标签 shell hadoop hbase hiveql

我正在尝试创建一个Hive外部表Hbase。

下面是我的简单代码:

hive -hiveconf DB_NAME=bdsma -hiveconf TABLE_NAME=RAW_BBPROCESSINGRESOURCE -f Create External table bdsma.RAW_BBPROCESSINGRESOURCE( hbase_key string,pmRohcCidSum FLOAT) ROW FORMAT SERDE "org.apache.hadoop.hive.hbase.HBaseSerDe" STORED BY "org.apache.hadoop.hive.hbase.HBaseStorageHandler" WITH SERDEPROPERTIES '('hbase.columns.mapping'=':key, \tCF:pmRohcCidSum')' TBLPROPERTIES ("COLUMN_STATS_ACCURATE"="false","hbase.mapred.output.outputtable"="RAW_OPS_ODEB", "hbase.table.name"="RAW_OPS_ODEB")

但其显示以下错误:

-bash: syntax error near unexpected token `('

最佳答案

hive -f需要一个文件,因此创建一个包含您的脚本的文件,那么它将是hive -f script.sql
如果要在CLI上编写该语句,则需要hive -e "CREATE EXTERNAL TABLE bdsma.RAW_BBPROCESSINGRESOURCE( ... ) ..."。如果使用这种方式,则可以删除两个-hiveconf,因为您没有使用它。

关于shell - 创建Hive表的Shell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50912068/

相关文章:

java - 如何自动、定期地将文件从windows机器上传到unix服务器?

bash - 我如何找到在 Linux 中定义环境变量的位置

hadoop - HBase 客户端在 JBoss AS 7.1 下不工作

hadoop - 错误:org.apache.hadoop.hbase.PleaseHoldException:主正在初始化

java - Storm-HBase Trident - 同时查询多个列

linux - 如何从本地计算机上的脚本在 aws-ec2 上运行脚本?

java - 在 while 循环 shell 中运行 Java

unix - 从文本文件中获取特定行

hadoop - Pig-使用位置表示法时,如何在JOIN之后引用FOREACH中的列?

hadoop - 如何实现HiveQL错误处理