hive

作者: Bottle丶Fish | 来源:发表于2017-07-18 19:57 被阅读20次

第一步、在/home/hadoop/cdh/test下创建原始数据

touch stu
vi stu
1    zhangsan
2    lisi

第二步、进入hive目录,启动hive服务

bin/hive --service hiveserver -v
Starting Hive Thrift Server
Starting hive server on port 10000 with 100 min worker threads and 2147483647 max worker threads

第三步、在hive里面创建一张表

hive> create table stu (id int, name string) row format delimited  fields terminated by '\t'
stored as textfile;

第四步、编写Java程序,并运行。

public class Demo01_hive_and_mysql {

    private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";    
    
    public static void main(String[] args) throws Exception {

        System.setProperty("hadoop.home.dir", "E:\\cdh\\hadoop-2.5.0-cdh5.3.6");

        try {
             Class.forName(driverName);
         } catch (ClassNotFoundException e) {
             e.printStackTrace();
             System.exit(1);
         }
            //此处的用户名一定是有权限操作HDFS的用户,否则程序会提示"permission deny"异常
        Connection con = DriverManager.getConnection("jdbc:hive://192.168.2.133:10000/default", "user", "password");
                
        Statement stmt = con.createStatement();
        String tableName = "stu";
        String sql = "";
        ResultSet res = null;
        stmt.execute("drop table if exists " + tableName);
        stmt.execute("drop table if exists " + tableName);
        stmt.execute("create table " + tableName + " (key int, value string)");
        System.out.println("Create table success!");
        String sql = "show tables '" + tableName + "'";
        System.out.println("Running: " + sql);
        ResultSet res = stmt.executeQuery(sql);
        
        if (res.next()) {
            System.out.println(res.getString(1));
        
        }
        
        sql = "describe " + tableName;
        System.out.println("Running: " + sql);
        res = stmt.executeQuery(sql);
        
        while (res.next()) {
             System.out.println(res.getString(1) + "\t" + res.getString(2));
        }
        
        sql = "select * from " + tableName;
        System.out.println("Running: " + sql);
        res = stmt.executeQuery(sql);
        while (res.next()) {
            System.out.println("-------------------");
            System.out.println(res.getString(2)+"\t"+res.getString(1));
        }

结果显示

Running: describe stu
id                      int                 
name                    string              
Running: select * from stu
-------------------
zhangsan     1
-------------------
lisi         2

相关文章

  • 数据仓库Hive

    Hive产生背景 Hive概述 HIve体系架构 Hive部署架构 Hive和RDBMS区别 Hive部署以及快速...

  • 数据查询-Hive基础

    outline 什么是Hive 为什么需要Hive Hive的架构 Hive的常用操作 什么是Hive Hive由...

  • 大数据知识 | hive初识

    hive简介 hive架构 hive是什么 官网这样说:https://hive.apache.org/ hive...

  • Hive | Hive 安装详解

    一、Hive 介绍 二、准备工作 三、Hive下载 四、Hive 安装 五、Hive 启动 一、Hive 介绍 H...

  • Hive日常使用

    hive 创建表: hive 执行: =========================hive 调用Python...

  • Hive常用的几种交互操作

    查看hive下的交互命令方式 -help(hive 外) 命令:bin/hive -helpusage: hive...

  • 【Hive】

    Hive的安装 Hive官网地址 http://hive.apache.org/[http://hive.apac...

  • Hive进阶

    hive配置,命令 hive查询显示列名 hive默认分隔符 \001 hive命令行中查看当前hive环境变量 ...

  • Hive 入门

    Hive官网 Hive概述 Hive 的底层执行引擎有 :MapReduce,Tez,Spark- Hive on...

  • 大数据开发之Hive优化篇2-Hive的explain命令

    备注:Hive 版本 2.1.1 一.Hive explain命令概述 Hive的explain命令用来看Hive...

网友评论

      本文标题:hive

      本文链接:https://www.haomeiwen.com/subject/fvnhkxtx.html