• hive使用


    运行hadoop [root@hadoop0 ~]# start-all.sh 

    进入命令行[root@hadoop0 ~]# hive

    查询昨天的表 hive> select * from stu; 

    显示数据库 hive> show databases

    创建数据库 hive> create database test

    使用数据库 hive> use test; 

    把旧表数据导入新表 INSERT OVERWRITE TABLE test4 SELECT * FROM test1 

    设置hive参数 hive> SET hive.exec.compress.output=true;

    1 内部表

        Show databses;
        Use hive_data;

            1.1 创建内部表

    • CREATE TABLE SOGOUQ2(DT STRING,WEBSESSION STRING,WORD STRING,S_SEQ INT,C_SEQ INT,WEBSITE STRING) 
      ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' LINES TERMINATED BY ' ' ;

      1.2 加载数据

    • LOAD DATA LOCAL INPATH '/data/software/sougou/SogouQ2.txt' INTO TABLE SOGOUQ2;
      Load hdfs data:
      LOAD DATA INPATH 'hdfs://shulaibao2:9010/home/hadoop/upload/test/sougou/SogouQ1.txt
      ' INTO TABLE SOGOUQ2;
    • 1.3 查看hdfs数据
    • hadoop fs -ls /user/hive/warehouse/hive_data.db
    • 1.4 操作数据库
    • select count(*) from SOGOUQ2; select count(*) from SOGOUQ2 where WEBSITE like '%baidu%';

      2 外部表

    • 2.1 创建hdfs数据存储目录
    • hadoop fs -mkdir -p  /home/hadoop/upload/hive/sogouq1
      hdfs dfs -ls  /home/hadoop/upload/hive/sogouq1
    • 2.2 创建表
    • CREATE EXTERNAL TABLE SOGOUQ1(DT STRING,WEBSESSION STRING,WORD STRING,S_SEQ INT,C_SEQ INT,WEBSITE STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '	' LINES TERMINATED BY '
      ' STORED AS TEXTFILE LOCATION '/home/hadoop/upload/hive/sogouq1';
      Show tables;
    • 2.3 加载数据
    • Hadoop fs -copy /home/hadoop/upload/test/sougou/SogouQ1.txt /home/hadoop/upload/hive/sogouq1
      hdfs关联:copy、mv
      本地系统数据关联:copyFromLocal
    • 2.4 操作数据库
    • select count(*) from SOGOUQ1;

      总结:【注】在删除表的时候,内部表将删除表的元数据和数据文件;而删除外部表的时候,仅仅删除外部表的元数据,不删除数据文件

  • 相关阅读:
    学习进度条05
    构建之法阅读笔记03
    子数组和最大值算法
    学习进度条04
    学习进度条03
    定制小学四则运算
    单元测试示例
    构建之法阅读笔记02
    学习进度条02
    decimal扩展方法(转换为字符串,去掉末尾的0)
  • 原文地址:https://www.cnblogs.com/xzjf/p/8566704.html
Copyright © 2020-2023  润新知