Hive之导入外部数据-阿里云开发者社区

开发者社区> jclian91> 正文

Hive之导入外部数据

简介: 利用以下命令可以查看Hive中的数据库和表格。 show databases; #查看数据库 show tables; #查看表格 (一)将本地/home/training/student.
+关注继续查看

利用以下命令可以查看Hive中的数据库和表格。

show databases;    #查看数据库
show tables;    #查看表格

(一)将本地/home/training/student.csv表格导入到Hive中
这里写图片描述

1.在Hive中创建新表格,与本地csv的数据类型一致

create table if not exists student1
(ID int, AGE int, SEX string, BIRTHDAY date, SCORE int)
row format delimited fields terminated by ','
stored as textfile;

2.查看新建的表格

describe student1;

describe formatted student1;

3.导入本地数据

load data local inpath '/home/training/student.csv' overwrite into table student1;
set hive.cli.print.header=true;    #显示列名
select * from student1;

这里写图片描述
Bingo,导入本地数据成功!

(二)将hdfs端的/test/student.csv表格导入到Hive中

hdfs dfs -mkdir /test    #新建文件夹
hdfs dfs -put /home/training/student.csv /test    #上传本地student.csv到hdfs端的test文件夹下
create table if not exists student2
(ID int, AGE int, SEX string, BIRTHDAY date, SCORE int)
row format delimited fields terminated by ','
stored as textfile;
load data inpath 'hdfs://localhost:8020/test/student.csv' overwrite into table student2;
select * from student2;

这里写图片描述
Bingo,导入hdfs端数据成功!

(二)将MySQL中的表格导入到Hive中
如果hive的metastore数据库不是MySQL的话,可以利用Sqoop先将mysql数据库中的表导入hdfs端,再把hdfs端的数据导入到Hive中。
下面仅展示如何利用Sqoop先将mysql数据库中test数据库的student_mysql表导入hdfs端。

sqoop import \
--connect jdbc:mysql://localhost/test \
--username training --password training \
--table student_mysql \
--target-dir /lmj/student_hdfs \
--null-non-string '\\N';

其中,import为Sqoop内置的导入单张表的命令,jdbc:mysql://localhost/test为本地MySQL的test数据库,username和password分别为MySQL数据库的账号与密码,table student_mysql为所要导入的表,target-dir为hdfs端的文件地址,null-non-string ‘\N’将数据库表中的null值转化为Hive和Impala中的\N,便于兼容。



本次分享到此结束,欢迎大家交流与批评~~

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
hive内部表和外部表的区别
hive内部表和外部表的区别
7 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10076 0
企业如何防止外部攻击和内部数据泄密?
一直以来,云计算所倡导的就是:“我们可以做得更好,更便宜”。云计算带给企业诸多利好,但实施云计算必然会加剧信息泄露风险。当企业打算把所有数据传输云端的时候,首先要考虑的就是数据保护的问题。 使用云服务,用户数据将面临以下安全威胁:云端数据集中存储带来的管理员有限访问与虚拟机逃逸隐患、数据管理者和数据所有者完全脱离现象。
3440 0
关于hive数据导入方式的总结
从本地导入数据到hive: load data local inpath '/home/hive/tb_dw_cu_three_type_list_dtal/*.dat' overwrite into table csap.tb_dw_cu_three_type_list_dtal  partition(statis_date=20160121); 从HDFS直接导入数据到hive:
1979 0
自建Hive数据仓库跨版本迁移到阿里云Databricks数据洞察
客户在IDC或者公有云环境自建Hadoop集群构建数据仓库和分析系统,购买阿里云Databricks数据洞察集群之后,涉及到数仓数据和元数据的迁移以及Hive版本的订正更新。
137 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10883 0
ETL数据导入/导出工具 HData(支持JDBC、Hive、HDFS、HBase、Kafka等)
HData是一个异构的ETL数据导入/导出工具,致力于使用一个工具解决不同数据源(JDBC、Hive、HDFS、HBase、MongoDB、FTP、Http、CSV、Excel、Kafka等)之间数据交换的问题。
1682 0
hive 数据源,yarn 集群测试, SQL 分别取 topN5
快速学习hive数据源,yarn集群测试,SQL分别取topN5
18 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13884 0
SAS进阶《深入解析SAS》之Base SAS基础、读取外部数据到SAS数据集
SAS进阶《深入解析SAS》之Base SAS基础、读取外部数据到SAS数据集 前言:在学习完《SAS编程与商业案例》后,虽然能够接手公司的基本工作,但是为了更深入的SAS学习,也为了站在更高的一个层次上去掌握和优化公司工作,故而又咬紧牙关加紧学习《深入解析SAS》.就目前的两本书的对比,显而易见的是本书比《SAS编程…》要厚的多,再者内容更新是2015年著,最后是内容详实
1813 0
+关注
jclian91
热爱算法,热爱技术,热爱生活,期待更好的自己与明天~
126
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载