大数据技术应用(国家) 技能点1:数据准备 创建Hive表.docx

大数据技术应用(国家) 技能点1:数据准备 创建Hive表.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE2 / NUMPAGES11 创建Hive表 创建Hive表 摘 要:本章节主要讲解Hive表如何创建和创建Hive表的类型。 关键词:建表、导入数据、内部表、外部表; 1. 内部表 1.1 建表 创建完成后使用show tables;查看是否创建成功。 1.2 导入数据 提前准备好一个txt文件,文件内容如下: 接下来导入数据: 查看表中的数据: 数据已经导入成功。 在导入数据的过程中,如果在建表的过程中没有指定location,那么就会在hive.metastore.warehouse.dir指定的路径下,以表名创建一个文件夹,之后所有有关该表的数据都会存储到此文件夹中。 hive.metastore.warehouse.dir是在HIVE_HOME/conf/hive-site.xml中配置的,如下,我配置的路径为/user/hive/warehouse: 现在去HDFS中就可以看到该路径下有个文件夹名为fz,fz下有个文件就是我们在导入数据时,从本地文件系统拷贝到HDFS中的fz.txt。 1.3 删除该表 该表删除后,再去HDFS中看一下还有没有之前创建的文件夹。 结果显示该文件夹已经没有了,也就是说当我们在删除内部表的时候,不仅删除了表中的数据,还删除了数据文件。 1.4 创建内部表实例操作 创建表并加载数据。 第一步:启动HDFS、YARN、Hive,启动完Hive之后创建Hive数据库,如果已经创建好了的就可以查看并应用它: Hive>show tables; Hive>use default; 也可以创建数据库: Hive>create database testdb; Hive>show database; Hive>use hive; 第二步:创建内部表 由于Hive使用了类似于SQL的语法,所以创建内部表的语句相对于SQL只增加了行和字段分隔符。 在testdb数据库中创建一个名为names的表并在表中添加其结构: Create table names ( id int, name string,age int,number string)Row format delimited fields terminated by ‘\t’ Stored as textfile; 第三步:加载数据 数据文件可以从Hdfs或本地操作系统中加载到表中,如果加载HDFS文件使用LOAD DATA INPUT,而加载本地操作系统文件使用LOAD DATA LOCAL INPUT命令。Hive表保存的默认路径在${HIVE_HOME}/conf/hive-site,xml配置的hive.metastore.warehouse.dir属性指定,当创建表时会在hive.metastore.warehouse.dir指向目录下以表名创建一个文件夹,在本演示中表默认指向的是/user/hive/warehouse。数据文件在本地操作系统将复制到表对应的目录下,而数据文件在HDFS中,数据文件在HDFS中,数据文件将移动到表对应的目录下,原来的目录将不存在该文件。 注意:向表中插入数据(hive不支持insert into 的插入形式)。 Hive>load data local inpath ‘simple/name2.csv’ overwrite into table name; 加了overwrite则数据将会被覆盖,如果只是在后面追加数据不要加overwrite。 查询数据可以用count关键字查寻问价的行数,查询时会启动MapReduce进行计算,map的个数一般和数据分片个数对应。 查看表中所以“age”: Hive>Select age from names; 将表中年龄大于20岁的内容提取出来,并且建立一个名为nametwo的新表内容并且结构与names完全一致: 查看nametwo这张表格: Hive>Select * from nametwo; 包含baidu的数据,可以用like关键字进行模糊查询,Map的个数一般和数据分片个数对应: Hive>select count(*)from SOGOUQ2 website ‘%baidu%’; 查询结果排名第一,点击次序排名第二,其中url包含baidu的数据 Hive>select count(*)from SOGOUQ2 where S_SEQ=2 and C_SEQ=2 And website ‘%baidu%’; 2. 外部表 2.1 建表 建外部表时要加external关键字,我在建表时指定了location,当然也可以不指定,不指定就默认使用hive.metastore.warehouse.dir指定的路径。 2.2 导入数据 提前准备好数

您可能关注的文档

文档评论(0)

WanDocx + 关注
实名认证
内容提供者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档