Я пытаюсь объединить hive и hbase, но когда я создаю (внешнюю) таблицу в hive с обработчиком hbase:
create external table entity_hbase(id bigint, value string, ts bigint, entity_type tinyint)
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties ('hbase.columns.mapping'=':key,f1:value,f1:timestamp,f1:entity_type')
tblproperties('hbase.table.name'='entity');
я получаю эту ошибку:
org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: таблица семейства столбцов не существует в регионе hbase: meta
Прежде всего, я не понимаю, почему ошибка говорит о том, что семейство столбцов table
(не f1
) не существует.Даже если я создаю таблицу в hbase, а затем пытаюсь создать внешнюю таблицу в улье, я получу ту же ошибку.
До всего этого мои шаги были: 1. Запустить dfs 2. Запустить пряжу 3. Запустить metastoreБД для улья 4. Запустите службу метастазирования 5. Запустите hbase 6. С помощью оболочки куста попробуйте создать таблицу с помощью обработчика hbase
hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:postgresql://localhost:5432/metastore</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>org.postgresql.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>postgres</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value></value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/Users/home/hive/warehouse</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://0.0.0.0:9083</value>
</property>
</configuration>
hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:8020/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/Users/home/hbase/zookeeper</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/Cellar/hadoop/3.1.1/hdfs/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:8020</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:8021</value>
</property>
</configuration>
Версия Hadoop: 3.1.1 Версия Hive: 3.1.1 Версия Hbase: 1.2.9