zoukankan      html  css  js  c++  java
  • Hive学习(二)

    1、Hive数据导入

    2、Hive的数据查询

    3、Hive的Java客户端和自定义函数

    1、Hive数据导入

    (1.1)使用Load语句导入

    HiveQL中提供LOAD DATA命令,用于导入数据到Hive表中。根据导入文件是在本地,还是在HDFS文件系统上,LOAD DATA命令,又可分为LOAD DATA LOCAL INPATHLOAD DATA INPATH

    将student02.txt导入t2中

    load data  local inpath '/root/data/student01.txt' into table t2
    如果指明Local 则说明数据存储在lnux操作系统上,否则数据存储在HDFS中
    假设文件在HDFS中
    load data inpath'/user/b.txt' into table t2;

    数据加载到分区表中

    load data local inpath  '/root/data/'  
    
    into 
    
    table partition_table_1
    
    partition(sex='')
    load data local inpath  '/root/data/'  
    
    into 
    
    table partition_table_2
    
    partition(sex='')

    (1.2)使用Sqoop导入数据

    (1.3)使用HDFS命令

    Hive表数据与HDFS文件是对应的,因此,可以使用HDFS文件管理命令将文件直接复制/移动到Hive表数据存放目录,从而达到将数据导入相应Hive表的目的。 
    使用如下命令,建立一个Hive表user:

    create table user(id int,name string) row format delimited fields terminated by ',' ;

    通过以下命令将“a.txt”文件直接复制到表对应的数据存放目录:

    hadoop fs -put a.txt /user/hive/warehouse/user/

    (1.4)使用 insert   into table tablename select ...语句

    首先使用如下命令创建一个新的Hive表userlog。

    create table userlog(id int,name string)

    接着使用如下命令从以上提及到的user表中获取数据插入userlog表中。

    insert into  table  userlog 
       selectid,name from user

    (1.5)使用create table tablenames as select ...语句

    可以在创建Hive表的同时从其他表获取数据进行填充。比如执行如下语句,表示创建了一个新的Hive表,同时从上述提及到的user表中获取数据进行了填充。

    create table  personlog 
    as 
    select id,name from user

    2、Hive的数据查询

    3、Hive的Java客户端和自定义函数

  • 相关阅读:
    DELPHI给整个项目加编译开关
    TThread.Queue和TThread.Synchronize的区别
    中文分词 《第七篇》
    搜索结果的处理和显示《第六篇》
    高级搜索 《第五篇》
    索引管理 《第四篇》
    执行搜索 《第三篇》
    构建索引 《第二篇》
    Lucene.net 基本示例 《第一篇》
    通过配置的方式Autofac 《第三篇》
  • 原文地址:https://www.cnblogs.com/wangleBlogs/p/9668833.html
Copyright © 2011-2022 走看看