未使用Hive-Hbase集成在EMR群集中创建Hbase表

9w11ddsr  于 2023-02-15  发布在  Hive
关注(0)|答案(1)|浏览(115)

我是AWS EMR的新手,使用以下代码创建了Hive-Hbase表:一个月一个月一个月一个月一个月
当我尝试将值插入此表时:INSERT OVERWRITE TABLE airflow.card_transactions_bucketed select concat_ws('~',cast(card_id as string),cast(transaction_dt as string)) as cardid_txnts,card_id,member_id,amount,postcode,pos_id,transaction_dt,status from airflow.card_transactions它开始失败,并显示以下错误:
ERROR [25bd1caa-ccc6-4773-a13a-55082909aa47 main([])]: exec.Task (TezTask.java:execute(231)) - Failed to execute tez graph. org.apache.hadoop.hbase.TableNotFoundException: Can't write, table does not exist:card_transactions at org.apache.hadoop.hbase.mapreduce.TableOutputFormat.checkOutputSpecs(TableOutputFormat.java:185) ~[hbase-server-1.4.13.jar:1.4.13] at org.apache.hadoop.hive.hbase.HiveHBaseTableOutputFormat.checkOutputSpecs(HiveHBaseTableOutputFormat.java:86) ~[hive-hbase-handler-2.3.9-amzn-2.jar:2.3.9-amzn-2] at org.apache.hadoop.hive.ql.io.HivePassThroughOutputFormat.checkOutputSpecs(HivePassThroughOutputFormat.java:46) ~[hive-exec-2.3.9-amzn-2.jar:2.3.9-amzn-2]
表"airflow. card_transactions_bucketed"已创建并在配置单元中可用,但HBase表"" hbase.table.name'= "card_transactions'"未创建并可用。我在hive.log中未看到任何错误。
我还希望创建HBase表。

ahy6op9u

ahy6op9u1#

因此,与Cloudera不同,AWS中的Hbase需要手动创建。上面的查询没有创建Hbase表,而是在集群中集成了一个已经创建的Hbase表。我能够通过集成的Hive表插入数据,并且在Hbase中查询时显示数据。

相关问题