欢迎投稿

今日深度:

hive语法,

hive语法,


创建表

  1. 创建员工表
    [java] view plain copy
    1. create table t_emp (  
    2. id int,  
    3. name string,  
    4. age int,  
    5. dept_name string  
    6. )  
    7. ROW FORMAT DELIMITED  
    8.    FIELDS TERMINATED BY ',';  

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

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

四、导入数据 LOAD

  1. [java] view plain copy
    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 [java] view plain copy
  1. Standard syntax:  
  2. INSERT OVERWRITE TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...) [IF NOT EXISTS]] select_statement1 FROM from_statement;  
  3. INSERT INTO TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...)] select_statement1 FROM from_statement;  
  4.    
  5. Hive extension (multiple inserts):  
  6. FROM from_statement  
  7. INSERT OVERWRITE TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...) [IF NOT EXISTS]] select_statement1  
  8. [INSERT OVERWRITE TABLE tablename2 [PARTITION ... [IF NOT EXISTS]] select_statement2]  
  9. [INSERT INTO TABLE tablename2 [PARTITION ...] select_statement2] ...;  
  10. FROM from_statement  
  11. INSERT INTO TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...)] select_statement1  
  12. [INSERT INTO TABLE tablename2 [PARTITION ...] select_statement2]  
  13. [INSERT OVERWRITE TABLE tablename2 [PARTITION ... [IF NOT EXISTS]] select_statement2] ...;  
  14.    
  15. Hive extension (dynamic partition inserts):  
  16. INSERT OVERWRITE TABLE tablename PARTITION (partcol1[=val1], partcol2[=val2] ...) select_statement FROM from_statement;  
  17. INSERT INTO TABLE tablename PARTITION (partcol1[=val1], partcol2[=val2] ...) select_statement FROM from_statement;  
例如:
  • 创建数据库
    [java] view plain copy
    1. hive> create table t_emp_1 (  
    2.     > name varchar(50),  
    3.     > dname varchar(50));  
    插入数据到t_emp_1
    [java] view plain copy
    1. hive> insert into t_emp_1 select name, dept_name from t_emp group dept_name;  
  • 六、导出 Export [java] view plain copy
    1. EXPORT TABLE tablename [PARTITION (part_column="value"[, ...])]  
    2.   TO 'export_target_path' [ FOR replication('eventid') ]  
    [java] view plain copy
    1. hive> export table t_emp to '/usr/file/emp.txt';  


    七、导入 Import [java] view plain copy
    1. IMPORT [[EXTERNAL] TABLE new_or_original_tablename [PARTITION (part_column="value"[, ...])]]  
    2.   FROM 'source_path'  
    3.   [LOCATION 'import_target_path']  


    www.htsjk.Com true http://www.htsjk.com/hive/41372.html NewsArticle hive语法, 创建表 创建员工表 [java]  view plain  copy create table t_emp (   id  int ,   name string,   age  int ,   dept_name string   )   ROW FORMAT DELIMITED      FIELDS TERMINATED BY  ',' ;   创...
    相关文章
      暂无相关文章
    评论暂时关闭