【完美解决】Spark-SQL、Hive多 Metastore、多后端、多库
【完美解决】Spark-SQL、Hive多 Metastore、多后端、多库
【完美解决】Spark-SQL、Hive多 Metastore、多后端、多库
SparkSQL 支持同时连接多种 Metastore,包括Atlas2(PB),Hive 0.12+几种格式。用户可以在一条SQL语句中操作来自多个 Metastore 的表。
配置 Metastore
按照正常的使用方式配置 conf/hive-site.xml
比如配置访问 mysql:
|
执行 spark-sql:
|
可以看到已经可以正常访问 mysql 了。
添加一个 Metastore
添加一个新的 metastore 需要在 conf/ 中新增加一个配置文件,比如 hive-site2.xml(文件名无限制),里边配置新的metastore,实例内容如下:
|
然后启动 spark-sql 客户端:
|
费元星的hive-site.xml 配置:
<configuration>
<!--如果没有配置说明,等于耍流氓 by feiyuanxing-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>hdfs://IP:prot/app/ns/df</value>
<description>location of default database for the warehouse</description>
</property>
<property>
<name>hive.exec.scratchdir</name>
<value>hdfs://IP:prot/app/ns/df/tmp/hive-${user.name}</value>
<description>Scratch space for Hive jobs</description>
</property>
<property>
<name>hive.security.authorization.enabled</name>
<value>false</value>
</property>
<!-- -->
<property>
<name>hive.metastore.client.connect.retry.delay</name>
<value>-1</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.thrift.framed.transport.enabled</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.use.combined</name>
<value>true</value>
</property>
<!-- 连接mysql -->
<property>
<name>metaclient.config.mysql</name>
<value>hive-site-mysql.xml</value>
</property>
<property>
<name>metaclient.alias.mysql</name>
<value>mysql.mysql</value>
</property>
<property>
<name>metaclient.config.hive</name>
<value>hive-site-hive.xml</value>
</property>
<property>
<name>metaclient.alias.hive</name>
<value>hive.hive</value>
</property>
</configuration>
跨 Metastore 操作
经过上边两步配置,当前系统中一共存在两个 metastore: mysql 和 hive2. 而且我们通过为 hive2 中的 default 数据指定别名为 default2 避免了命名冲突的问题,那么现在就可以同时操作两个数据库中的表了。比如:
|
最新文章
- Jquery 页面间传值(非QuerryString)
- bootstrap-markdown编辑器引入
- python基础-函数式编程
- .net网站发布到局域网流程
- 如何禁用Marlin温度保护
- Transform a BST to greater sum tree
- Grand Theft Auto V 图形研究(3)
- cakephp之查询
- 恢复被win7覆盖的Ubuntu Grub
- hdu 1063 Exponentiation (高精度小数乘法)
- Reverse Linked List 递归非递归实现
- 【深入浅出jQuery】源码浅析2--使用技巧
- 文本输入框的两种div+css的写法
- js 放大镜用法bug解决
- cmd输入svn提示svn不是内部或外部命令
- 第 8 章 MySQL 数据库 Query 的优化
- 201521123096《Java程序设计》第六周学习总结
- C++ Primer 有感(函数)
- TensorFlow练习13: 制作一个简单的聊天机器人
- SQLServer之删除索引