如何 运行 HiveSQL 与本地 DynamoDB

How to run HiveSQL with DynamoDB local

正如标题,我已经在 Ubuntu 上成功安装了本地 DynamoDB 和 HiveSQL。但是当 运行 命令行中的 Hive 查询创建一个 table as

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: Error in loading storage handler.org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

我查看了 Google 但没有找到 DynamoDBStorageHandler class 的库放入 Hive 的 lib 文件夹中。

客户可以使用 DynamoDBStorageHandler 运行 为 EMR 作业配置的 AMI 上的 Hive 查询。相反,您可以考虑将 dynamodb.endpoint 设置为您拥有 DynamoDB Local 运行 的主机。这样您就可以使用 DynamoDB Local 作为 Hive 查询的后端。