zoukankan      html  css  js  c++  java
  • 通过远程jdbc方式连接到hive数据仓库

    1.启动hiveserver2服务器,监听端口是10000,启动名令:hive --service hiveserver2 &;//将其放在后台进行运行,判断启动是否成功的标志是:jps,是否有RunJar进程,或者netstat -anop |grep 10000查看10000端口是否连接
    ,如果可以连接,那么就可以使用beeline通过$>hive service hiveserver2这个命令连接进来
    2.通过beeline的命令行连接到hiveserver2,可以直接写$>beeline 等价于:$>hive --service beeline,连接到数据库:$beeline>!connect jdbc:hive2://localhost/mydb1连接到数据库hive数据库mydb1
    3.!help,打印出帮助汇总
    4.beeline下面的命令:!tables

    hive命令

    //创建表
    $hive>create table if not exists t1(name string) comment 'xx' row format delimited fields terminated by ',' stored as textfile;
    //创建外部表
    

    $hive>create external table if not exists t1(name string) comment 'xx' row format delimited fields terminated by ',' stored as textfile;
    //查看数据
    $hive>desc t2 ;
    $hive>desc formatted t2;
    $hive>load data local inpath '/home/centos/customers.txt' into table t2 ;//从本地文件上传到hive表中,local是上传文件,
    //复制表
    $mysql>create table tt as select * from users ; //复制表,携带数据和表结构
    $mysql>create table tt like users ; //复制表,只携带表结构,不带数据

    hive>create table tt as select * from users;
    hive>create table tt  like users ;
    hive>select count(*) from users;    //这个需要转成mr进行处理,count(*) 查询要转成mr查询
    hive>select id,name from t2 order by id desc ;//order by是全排序,要转成mr,以内需要进行聚合
    

    分区表

    hive的优化手段之一:创建分区表
    在hive中数据库是目录,表是目录,分区表还是目录,表下的分区仍然是目录,从目录层面控制搜索数据的范围
    创建分区表
    $hive>create table t3(id int,name string ,age int) partitioned by (year int,month int) row format delimited fields terminated by ","
    //显示分区表的分区信息
    hive>show partitions t5;
    //添加分区修改表
    $hive>altertable t3 add partition (year=2014,month=1) partition(year =2015,month=2);
    hdfs -lsr /;//添加完成之后查看目录
    //加载数据到指定分区
    $hive>load data local inpath '/home/centos/customers.txt' into table t5 partition(year=2015,month=3);
  • 相关阅读:
    [java]转:String Date Calendar之间的转换
    ExtJs在页面上window再调用Window的事件处理
    java oracle clob string 大字符串存储【转】
    解决linux系统启动之:unexpected inconsistency:RUN fsck
    线程封闭之栈封闭和ThreadLocal
    Java线程状态和关闭线程的正确姿势
    指令重排序和内存屏障
    浅谈Java内存模型以及交互
    Redis分布式锁的一点小理解
    使用原生Ajax进行用户名重复的检验
  • 原文地址:https://www.cnblogs.com/stone-learning/p/9278728.html
Copyright © 2011-2022 走看看