作为标题,我已经在我的Ubuntu上成功安装了DynamoDB local和HiveSQL。但是当在命令行中运行 Hive 查询以创建表时
CREATE EXTERNAL TABLE Hive_ProductCatalog
(Id string,Title string)
STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler'
TBLPROPERTIES (
"dynamodb.table.name" = "ProductCatalog",
"dynamodb.column.mapping" = "Id:Id,Title:Title");
然后我得到了错误
Failed with exception org.apache.hadoop.hive.ql.metadata.HiveException: in load storage handler.org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler 失败:执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1
我在谷歌上看了一下,但没有找到DynamoDBStorageHandler类的库,可以放入Hive的lib文件夹中。
DynamoDBStorageHandler 可供在为 EMR 作业预置的 AMI 上运行 Hive 查询的客户使用。相反,您可以考虑将 dynamodb.endpoint 设置为运行 DynamoDB Local 的主机。这样,您就可以使用 DynamoDB Local 作为 Hive 查询的后端。