MAPREDUCE服务 MRS-配置Hive读取关系型数据库:操作步骤
操作步骤
- 以Hive客户端安装用户登录安装客户端的节点。
- 执行以下命令,切换到客户端安装目录。
cd 客户端安装目录
例如安装目录为“/opt/client”,则执行以下命令:
cd /opt/client
- 执行以下命令配置环境变量。
source bigdata_env
- 集群认证模式是否为安全模式。
- 是,执行以下命令进行用户认证:
- 否,执行5。
- 执行以下命令,将需要关联的关系型数据库驱动Jar包上传到HDFS目录下。
hdfs dfs -put Jar包所在目录 保存Jar包的HDFS目录
例如将“/opt”目录下ORACLE驱动Jar包上传到HDFS的“/tmp”目录下,则执行如下命令。
hdfs dfs -put /opt/ojdbc6.jar /tmp
- 按照如下示例,在Hive客户端创建关联关系型数据库的外表。
-- 关联oracle linux6版本示例 -- 如果是安全模式,需设置admin权限 set role admin; -- 添加连接关系型数据库的驱动Jar包,不同数据库有不同的驱动Jar ADD JAR hdfs:///tmp/ojdbc6.jar; CREATE EXTERNAL TABLE ora_test -- hive表的列需比数据库返回结果多一列用于分页查询 (id STRING,rownum string) STORED BY 'com.qubitproducts.hive.storage.jdbc.JdbcStorageHandler' TBLPROPERTIES ( -- 关系型数据库类型 "qubit.sql.database.type" = "ORACLE", -- 通过JDBC连接关系型数据库的url(不同数据库有不同的url格式) "qubit.sql.jdbc.url" = "jdbc:oracle:thin:@//10.163.0.1:1521/mydb", -- 关系型数据库驱动类名 "qubit.sql.jdbc.driver" = "oracle.jdbc.OracleDriver", -- 在关系型数据库查询的sql语句,结果将返回hive表 "qubit.sql.query" = "select name from aaa", -- hive表的列与关系型数据库表的列进行匹配(可忽略) "qubit.sql.column.mapping" = "id=name", -- 关系型数据库用户 "qubit.sql.dbcp.username" = "test", -- 关系型数据库密码,命令中如果携带认证密码信息可能存在安全风险,在执行命令前建议关闭系统的history命令记录功能,避免信息泄露。 "qubit.sql.dbcp.password" = "xxx");
- 如果是安全模式,建表的用户需要“ADMIN”权限。
- ADD JAR的路径请以实际路径为准。
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- MapReduce服务_什么是Hive_如何使用Hive
- Hudi服务_什么是Hudi_如何使用Hudi
- MapReduce服务_什么是Loader_如何使用Loader
- 大数据分析是什么_使用MapReduce_创建MRS服务
- MapReduce服务_什么是MapReduce服务_什么是HBase
- MapReduce服务_什么是ZooKeeper_如何使用ZooKeeper
- MapReduce服务_什么是Kafka_如何使用Kafka
- MapReduce服务_什么是存算分离_如何配置MRS集群存算分离
- 什么是Spark_如何使用Spark_Spark的功能是什么