配置Hive使用Mysql作为数据源

Hive 默认使用 derby 作为映射表(SQL 操作映射为MapReduce Job,将SQL中创建的表映射为 hdfs 的文件/文件夹,字段映射为其中的行),但 derby 的一大缺陷在于它不允许多个客户端同时执行sql操作(可能新版本的hive会有所升级)

使用 mysql 作为 hive 的metastore

使用 hive 连接 mysql 其实意味着使用 JDBC 来连接,不妨再来看一下,hive的体系结构(hive 在hadoop的基础上,既提供了命令行的接口,输入hive进入,也提供了JDBC/ODBC的连接接口,当然还有一套Web GUI):
配置Hive使用Mysql作为数据源_第1张图片
(1)把 mysql 的 jdbc 驱动(mysql-connector-java-5.1.46.jar)放置到 hive 的 lib 目录下;
(2)修改$HIVE_HOME/conf下的 hive-site.xml(由cp hive-default.xml.template hive-site.xml而来)


<configuration>
  
  
  
  
    <property>
        <name>javax.jdo.option.ConnectionPasswordname>
        <value>mysqlvalue>
    property>
    <property>
        <name>javax.jdo.option.ConnectionURLname>
        <value>jdbc:mysql://172.16.41.128:3306/hive_metadata?createDatabaseIfNotExsit=true&characterEncoding=UTF-8&verifyServerCertificate=false&useSSL=falsevalue>
    property>
                            
                    

你可能感兴趣的:(Hive)