• Hive JDBC


    Hive是一个基于Hadoop的数据仓库架构,使用SQL语句读、写和管理大型分布式数据集。Hive可以将SQL语句转化为MapReduce(或Apache Spark和Apache Tez)任务执行,大大降低了Hadoop的使用门槛,减少了开发MapReduce程序的时间成本。

    可以将Hive理解为一个客户端工具,其提供了一种类SQL查询语言,称为HiveQL。这使得Hive十分适合数据仓库的统计分析,能够轻松使用HiveQL开启数据仓库任务,如提取/转换/加载(ETL)、分析报告和数据分析。Hive不仅可以分析HDFS文件系统中的数据也可以分析其他存储系统,例如HBase。

    通过编写JDBC程序访问Hive中的数据

    1. 修改用户权限

    使用JDBC或Beeline CLI连接Hive都需要在Hadoop中为Hive开通代理用户访问权限。修改Hadoop配置文件core-site.xml,添加以下配置内容:

    <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
    </property>

    2. 启动HiveServer 2服务

    使用JDBC或Beeline CLI访问Hive都需要先启动HiveServer 2服务,命令如下:

    cd /opt/modules/apache-hive-2.3.9-bin
    bin/hive --service hiveserver2 &
    
    http://centos01:10002

    3. Java项目依赖包

    <dependency>
        <groupId>org.apache.hive</groupId>
        <artifactId>hive-jdbc</artifactId>
        <version>2.3.9</version>
    </dependency>

    4. 编写JDBC程序

    Hive JDBC程序的编写与其他数据库(MySQL、Oracle等)类似

    public class HiveJDBCTest {
    
        public static void main(String[] args) throws Exception {
            //驱动名称
            String driver = "org.apache.hive.jdbc.HiveDriver";
            //连接地址,默认使用端口10000, 使用默认数据库
            String url = "jdbc:hive2://centos01:10000/test_db";
            //用户名(Hadoop集群的登录用户)
            String username = "root";
            //密码(默认为空)
            String password = "";
            //1.加载JDBC驱动
            Class.forName(driver);
            //2.获取连接
            Connection conn = DriverManager.getConnection(url, username, password);
            Statement stmt = conn.createStatement();
            //3.执行查询
            ResultSet res = stmt.executeQuery("select * from student");
            //4.处理结果
            while (res.next()) {
                System.out.println(res.getInt(1) + "\t" + res.getString(2));
            }
            //5.关闭资源
            res.close();
            stmt.close();
            conn.close();
        }
    
    }
    

      

    书籍: Hadoop大数据技术开发实战 9.13 Hive JDBC操作

    https://gitee.com/caoyeoo0/xc-springboot/blob/hadoopApi/src/main/java/com/xc/xcspringboot/test/HiveJDBCTest.java

  • 相关阅读:
    访问Ice-Pick Lodge:假设公众筹款网站Kickstarter在成功
    Hadoop2.2.0--Hadoop Federation、Automatic HA、Yarn完全分布式集群结构
    严重:IOException while loading persisted sessions:java.io.EOFException.
    工作注意事项
    Java设计模式偷跑系列(21)建模和实现享受metapatterns
    Java多线程的~~~Lock接口和ReentrantLock使用
    从头学起android&lt;AutoCompleteTextView文章提示文本框.十九.&gt;
    FPGA笔记-阅读.dat文件
    ORA-00932: inconsistent datatypes: expected
    HTML中Select的使用具体解释
  • 原文地址:https://www.cnblogs.com/ooo0/p/16880573.html
Copyright © 2020-2023  润新知