slf4j:类路径在azurehdinsight上包含多个slf4j绑定

vjhs03f7  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(509)

我已经创建了一个配置单元外部表,通过遵循这个hbase配置单元集成答案来访问hbase表。
下面是创建外部表的配置单元查询:

CREATE EXTERNAL TABLE hive_tweets_by_message_words_key(key INT,d STRING) 
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,d:d") 
TBLPROPERTIES("hbase.table.name" = "tweets_by_message_words_key");

但是当我使用select查询访问表时,它不返回任何内容,我在作业日志中找到了如下在azurehdinsight中提到的内容

Logging initialized using configuration in file:/C:/apps/dist/hive-0.13.0.2.1.15.1-1234/conf/hive-log4j.properties
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/apps/dist/hadoop-2.4.0.2.1.15.1-1234/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/apps/dist/hbase-0.98.0.2.1.15.1-1234-hadoop2/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
OK
Time taken: 2.032 seconds
kd3sttzy

kd3sttzy1#

slf4j站点上解释了多个slf4j绑定。但是,您看到的日志记录并不能解释查询无法返回结果的原因,因为:
slf4j发出的警告只是一个警告。即使存在多个绑定,slf4j也会选择一个日志框架/实现并与之绑定。

u4vypkhs

u4vypkhs2#

slf4j在这里不是问题。因为hive和hadoop都有slf4j jar,但是版本不同。这将导致警告消息,但配置单元最终将选择其中一个。
从最后两行来看,
好 啊
所用时间:2.032秒
这意味着您的表已成功创建。你能粘贴你的选择查询吗?您还可以按hbase shell检查hbase,查看是否有一个名为“tweets\u by\u message\u words\u key”的表。

相关问题