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

Posted

技术标签:

【中文标题】如何将本地蜂巢连接到雪花?【英文标题】:how do i connect local hive to snowflake? 【发布时间】:2020-09-08 15:47:10 【问题描述】:

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

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>

我将连接 jar 放在 hive jar 辅助路径中。

在 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自动注册,一般不需要手动加载驱动类。

请帮我解决这个问题。

【问题讨论】:

该消息听起来像是 1)您的 mysql 驱动程序错误 2)您的元存储配置错误 【参考方案1】:

连接器 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>

【讨论】:

以上是关于如何将本地蜂巢连接到雪花?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 mongodb 客户端连接到本地 Meteor MongoDB

如何将 spring gcp PubSubTemplate 连接到本地实例?

如何将 OpenShift 上的 KSQLDB 集群连接到本地 Kerberized Kafka 集群

如何从本地系统连接到 Linode 中的 postgres

如何将 plunker 连接到本地 Node.js 服务器?

如何通过蓝牙将 iPhone 连接到本地 Python 客户端?