成都网站建设设计

将想法与焦点和您一起共享

hive导入数据的方式有哪些

本篇内容介绍了“hive导入数据的方式有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联建站服务项目包括安丘网站建设、安丘网站制作、安丘网页制作以及安丘网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,安丘网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到安丘省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

load
语法: load data [local] inpath ‘xx’ into table 表名 partition()
local: 如果导入的文件在本地文件系统,需要加上local,使用put将本地上传到hdfs
不加local默认导入的文件是在hdfs,使用mv将源文件移动到目标目录

hadoop fs -put department /


load data inpath ‘/department’ into table deptpart3 partition(area=‘suzhou’);

insert
insert方式运行MR程序,通过程序将数据输出到表目录!
在某些场景,必须使用insert方式来导入数据:
①向分桶表插入数据
②如果指定表中的数据,不是以纯文本形式存储,需要使用insert方式导入

语法: insert into|overwrite table 表名 select xxx | values(),(),() 
            insert into: 向表中追加新的数据
            insert overwrite: 先清空表中所有的数据,再向表中添加新的数据
            
特殊情况: 多插入模式(从一张源表查询,向多个目标表插入)
            from 源表
            insert xxxx  目标表  select xxx
            insert xxxx  目标表  select xxx
            insert xxxx  目标表  select xxx

举例: from deptpart2
         insert into table deptpart1 partition(area='huaxi') select deptno,dname,loc
         insert into table deptpart1 partition(area='huaxinan') select deptno,dname,loc 
1
2
3
4
5
6
7
8
9
10
11
12
13

location
在建表时,指定表的location为数据存放的目录
create external table if not exists default.deptpart3(deptno int,
dname string,
loc int) PARTITIONED BY(area string)
row format delimited fields terminated by ‘\t’
location ‘hdfs://hadoop1:9000/deptpart3’;

导出
insert : 将一条sql运算的结果,插入到指定的路径
语法: insert overwrite [local] directory ‘/opt/module/datas/export/student’
row format xxxx
select * from student;

export : 既能导出数据,还可以导出元数据(表结构)!
export会在hdfs的导出目录中,生成数据和元数据!
导出的元数据是和RDMS无关!
如果是分区表,可以选择将分区表的部分分区进行导出!

 语法:  export table 表名 [partition(分区信息) ] to 'hdfspath'
1
export table deptpart1 partition(area=‘huazhong’) to ‘/export1’;


import
不仅可以导入数据还可以顺便导入元数据(表结构)。Import只能导入export输出的内容!

IMPORT [[EXTERNAL] TABLE 表名(新表或已经存在的表) [PARTITION (part_column=“value”[, …])]]
FROM ‘source_path’
[LOCATION ‘import_target_path’]
①如果向一个新表中导入数据,hive会根据要导入表的元数据自动创建表
②如果向一个已经存在的表导入数据,在导入之前会先检查表的结构和属性是否一致
只有在表的结构和属性一致时,才会执行导入
③不管表是否为空,要导入的分区必须是不存在的

   import external table importtable1  from '/export1'

“hive导入数据的方式有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


网页题目:hive导入数据的方式有哪些
文章转载:http://chengdu.cdxwcx.cn/article/gsciod.html