[hadoop]hive语法(十二)

原创 2016年06月01日 09:05:48

一、创建数据库

create database hive;

二、创建表

  1. 创建员工表
    create table t_emp (
    id int,
    name string,
    age int,
    dept_name string
    )
    ROW FORMAT DELIMITED
       FIELDS TERMINATED BY ',';

  2. 创建员工文件 emp.txt
    1,张三,30,销售部
    2,李四,31,市场部
    3,王五,32,研发部
    4,孙六,33,行政部
  3. 导入数据
    LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
    LOAD DATA LOCAL INPATH '/root/emp.txt' INTO TABLE t_emp;
  4. 查询员工总数
    hive> select count(*) from t_emp;
    Query ID = root_20160531150116_fa9fcc80-eb98-4e84-ba50-646e4e56d9aa
    Total jobs = 1
    Launching Job 1 out of 1
    Number of reduce tasks determined at compile time: 1
    In order to change the average load for a reducer (in bytes):
      set hive.exec.reducers.bytes.per.reducer=<number>
    In order to limit the maximum number of reducers:
      set hive.exec.reducers.max=<number>
    In order to set a constant number of reducers:
      set mapreduce.job.reduces=<span style="font-family: Arial, Helvetica, sans-serif;"><number></span>
    Starting Job = job_1464666884311_0002, Tracking URL = http://node1:8088/proxy/application_1464666884311_0002/
    Kill Command = /home/hadoop-2.5/bin/hadoop job  -kill job_1464666884311_0002
    Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1
    2016-05-31 15:03:09,162 Stage-1 map = 0%,  reduce = 0%
    2016-05-31 15:04:09,510 Stage-1 map = 0%,  reduce = 0%
    2016-05-31 15:04:39,292 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 16.43 sec
    2016-05-31 15:05:39,300 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 16.43 sec
    2016-05-31 15:05:46,423 Stage-1 map = 100%,  reduce = 67%, Cumulative CPU 19.93 sec
    2016-05-31 15:05:49,925 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 23.47 sec
    MapReduce Total cumulative CPU time: 23 seconds 470 msec
    Ended Job = job_1464666884311_0002
    MapReduce Jobs Launched: 
    Stage-Stage-1: Map: 1  Reduce: 1   Cumulative CPU: 25.84 sec   HDFS Read: 6793 HDFS Write: 2 SUCCESS
    Total MapReduce CPU Time Spent: 25 seconds 840 msec
    OK
    4
    Time taken: 281.847 seconds, Fetched: 1 row(s)

三、数据类型
参考文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types


四、导入数据 LOAD

  1. LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
    LOCAL:导入本地数据
    filepath: 相对路径project/data1、绝对路径/user/hive/project/data1、完整url hdfs://namenode:9000/user/hive/project/data1等
    OVERWRITE: 覆盖文件
    PARTITION: 分区,即按名称保存数据的文件夹
五、插入数据 INSERT
Standard syntax:
INSERT OVERWRITE TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...) [IF NOT EXISTS]] select_statement1 FROM from_statement;
INSERT INTO TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...)] select_statement1 FROM from_statement;
 
Hive extension (multiple inserts):
FROM from_statement
INSERT OVERWRITE TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...) [IF NOT EXISTS]] select_statement1
[INSERT OVERWRITE TABLE tablename2 [PARTITION ... [IF NOT EXISTS]] select_statement2]
[INSERT INTO TABLE tablename2 [PARTITION ...] select_statement2] ...;
FROM from_statement
INSERT INTO TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...)] select_statement1
[INSERT INTO TABLE tablename2 [PARTITION ...] select_statement2]
[INSERT OVERWRITE TABLE tablename2 [PARTITION ... [IF NOT EXISTS]] select_statement2] ...;
 
Hive extension (dynamic partition inserts):
INSERT OVERWRITE TABLE tablename PARTITION (partcol1[=val1], partcol2[=val2] ...) select_statement FROM from_statement;
INSERT INTO TABLE tablename PARTITION (partcol1[=val1], partcol2[=val2] ...) select_statement FROM from_statement;
例如:
  1. hive> insert into table t_emp values (5,'xiaoming',12,'hr'),(7,'xiaohong',13,'manager');
  2. 创建数据库
    hive> create table t_emp_1 (
        > name varchar(50),
        > dname varchar(50));
    插入数据到t_emp_1
    hive> insert into t_emp_1 select name, dept_name from t_emp group dept_name;
六、导出 Export
EXPORT TABLE tablename [PARTITION (part_column="value"[, ...])]
  TO 'export_target_path' [ FOR replication('eventid') ]
hive> export table t_emp to '/usr/file/emp.txt';


七、导入 Import
IMPORT [[EXTERNAL] TABLE new_or_original_tablename [PARTITION (part_column="value"[, ...])]]
  FROM 'source_path'
  [LOCATION 'import_target_path']


Hive官方dml详细文档:
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-InsertingdataintoHiveTablesfromqueries


版权声明:本文为博主原创文章,未经博主允许不得转载。

Hadoop系列四:Hadoop之Hive篇

Hive安装和运行 Pig与RDBMS、Hive比较 Pig Latin是一种数据流编程语言,而SQL是一种描述性编程语言。换句话说,Pig程序是相对于输入的一步步操作,其中每一步是对数据的一个简...
  • fjssharpsword
  • fjssharpsword
  • 2016年03月11日 16:42
  • 14079

hadoop学习笔记(八)——hadoop整合hive

环境:centos7+hadoop2.5.2+hive1.2.1 1) 下载hive稳定版本apache-hive-1.2.1-bin.tar 2) 在/usr/local目录下解压,与hadoop处...
  • thinkpadshi
  • thinkpadshi
  • 2015年09月22日 10:41
  • 1438

hive语法

创建表 创建员工表 [java] view plain copy create table t_emp (   id int,   name string,   age i...
  • clerk0324
  • clerk0324
  • 2016年09月30日 10:34
  • 560

Hive学习笔记以及语法

1.  HIVE结构 Hive 是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规...
  • qq626387
  • qq626387
  • 2014年12月10日 15:17
  • 2659

Hadoop&hive安装配置

下载 Hadoop下载 地址:http://labs.renren.com/apache-mirror/hadoop/common/ 版本:hadoop-1.0.3.tar.gz   Hive 下载 ...
  • lxpbs8851
  • lxpbs8851
  • 2012年09月19日 11:17
  • 8485

hadoop与hive

目录(?)[-] 1  简介2  Hive项目介绍3  使用Derby数据库安装 Hadoop和Hbase都已经成功安装了下载hive安装替换jar包与hbase096和hadoop22版...
  • u012107806
  • u012107806
  • 2016年01月01日 16:02
  • 243

在Hadoop基础上Hive的安装

写在开头 环境 Hadoop单机 Centos7 Hadoop-2.7.3 hadoop位置:/usr/loacl/hadoop参考文章 Hadoop集群之Hive安装配置Hive下载下载...
  • wnma3mz
  • wnma3mz
  • 2017年05月07日 13:03
  • 465

Hadoop之Hive简介与安装、测试(一)

一、Hive是什么? Hive是一种建立在Hadoop文件系统上的数据仓库架构,并对存储在HDFS中的数据进行分析与管理。可以通俗的理解为: 对于存储在HDFS中的数据进行分析与管理时,我们...
  • u013850277
  • u013850277
  • 2017年02月16日 00:23
  • 549

HIVE+MYSQL+HADOOP环境配置(用于学习)

注意:一切的操作,都要在root用户下,不然会由于权限问题产生很多问题 Step_1:安装并配置ssh 通过命令: apt-get install openssh-server 安装SSH 。安装...
  • henni_719
  • henni_719
  • 2016年10月25日 12:26
  • 1503

Hadoop、Hbase、Hive版本兼容性

装Spark的时候想当然的装了Hadoop的最新版 2.6.x 结果后面再安装HBase和Hive的时候  遇到了 彼此无法兼容的问题  总有一个安装无法连接其他 .. 现在记录一下这三者的关系...
  • u012102306
  • u012102306
  • 2016年08月24日 16:19
  • 3746
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[hadoop]hive语法(十二)
举报原因:
原因补充:

(最多只允许输入30个字)