我如何将本地蜂巢连接到雪花?

问题描述

我已经完成了雪花文档中的步骤,以配置蜂巢和雪花之间的连接器。

https://docs.snowflake.com/en/user-guide/tables-external-hive.html#step-1-install-the-connector

但是我在雪花记录中看不到蜂巢表,甚至看不到连接命令。

sNow-config.xml:

  <property>
    <name>sNowflake.jdbc.username</name>
    <value>user</value>
  </property>
  <property>
    <name>sNowflake.jdbc.password</name>
    <value>pwd</value>
  </property>
  <property>
    <name>sNowflake.jdbc.role</name>
    <value>ACCOUNTADMIN</value>
  </property>
  <property>
    <name>sNowflake.jdbc.account</name>
    <value>ac name</value>
  </property>
  <property>
    <name>sNowflake.jdbc.db</name>
    <value>db</value>
  </property>
  <property>
    <name>sNowflake.jdbc.schema</name>
    <value>schema</value>
  </property>
  <property>
    <name>sNowflake.jdbc.connection</name>
    <value>account</value>
  </property>
</configuration>

我将连接罐放置在蜂巢罐辅助路径中。

enter image description here

将其添加到hive-site.xml

 <property>
  <name>hive.metastore.event.listeners</name>
  <value>net.sNowflake.hivemetastoreconnector.SNowflakeHiveListener</value>
 </property>

重新启动配置单元元存储

hive --service metastore

它被卡在这里 加载类com.MysqL.jdbc.Driver'. This is deprecated. The new driver class is com.MysqL.cj.jdbc.Driver'。通过SPI自动注册驱动程序,通常不需要手动加载驱动程序类。

请帮助我。

解决方法

连接器API有所更改:

https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-api-changes.html

在MySQL Connector / J中实现java.sql.Driver的类的名称已从com.mysql.jdbc.Driver更改为com.mysql.cj.jdbc.Driver。旧的类名已被弃用。

在您的hive-site.xml中更新此属性:

<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>

更改:

<value>com.mysql.jdbc.Driver</value>

收件人:

<value>com.mysql.cj.jdbc.Driver</value>