11赞
387
当前位置:  开发笔记 > 编程语言 > 正文

基于Hadoop的数据仓库Hive的基本应用(一)||两种数据导入方法

在昨天的基础上,做的Hive的应用方法接着已经搭建配置好后,直接在根目录下进行hive(按课件说明,也要先进行启动HDFS和YARN)创建create删除drop查看show
在昨天的基础上,做的Hive的应用方法

接着已经搭建配置好后,直接在根目录下进行hive(按课件说明,也要先进行启动HDFSYARN

创建create//删除drop//查看show//使用use——数据库、表

导入文件/数据:

①把本地的.txt文件里的数据放到hive后:

或先传到本地,再传到HDFS上(可以在第二个上上传到hadoop

hadoop命令

[Teacher@SZHAStandby ~]$ hadoop fs -put 519.txt  /user/hive/warehouse/xp.db/xpp

519.txt是在本地的文件   后面是xp数据库下的xpp的表下

②用load的命令:(没太大区别)

load

先在active创建表——在standbyrz文件/数据--pwd查找路径——

load data local inpath ‘路径/文件名.txt

into table 表名;

不加local就是HDFS了;

可以反复的插入数据;

overwrite 覆盖(同名的文件)

直接into :是追加

当然,再次之前,要先在active上把表建好,这里最好不要用简单的创建表的语句,根据不同的条件和需求,一次性完成:

语法  (下拉看说明
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name 
   [(col_name data_type , …  …)]  
   [PARTITIONED BY (col_name data_type  ...)] 
   [SORTED BY (col_name [ASC|DESC], ...)] 
   [ROW FORMAT row_format] 
   [STORED AS file_format] 
   [LOCATION hdfs_path]
说明
external可以让用户创建一个外部表,在建表的同时指定一个指向HDFS上的实际数据的路径LOCATION,而不加EXTERNAL关键字是创建内部表,会将数据移动到数据仓库指向HDFS默认路径/user/hive/warehouse/;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。在删除表的时候,内部表的元数据和真实数据(表内容)会被一起删除,而外部表只删除元数据,不删除真实数据(表内容);if not exists如果相同名字的表已经存在,则抛出异常;用户可以用 IF NOT EXISTS 选项来忽略这个异常;
sorted by按字段排序(asc,desc);
stored as存储文件类型如果文件数据是纯文本,可以使用 STORED AS TEXTFILE。如果数据需要压缩,使用 STORED AS SEQUENCE;
row format 指定数据切分格式, DELIMITED [FIELDS TERMINATED BY char] [COLLECTION(集合类型--Map或者数组之类的结构,例如这么存储,1,地址信息:中央大街) ITEMS TERMINATED BY char] [MAP KEYS TERMINATED BY char] [LINES(行 默认按照回车符) TERMINATED BY char]
partitioned by创建表时指定的partition的分区空间

内部表:存放在指定/默认的路径下

外部表:放在指定的路径下

 

基本的情况就是:

hive> create table if not exists xpp(id int,name string)

> row format delimited fields terminated by ',';  以,为分割

 

顺序:建数据库——建表(完整的)——把本地文件传到表里——查询表

hive> select * from xpp;

以及一些基本的条件查询(where)等;

值得注意的是:

select  count* from xpp

这样就开始了进行MapReduce(查询)的进程:

·和一般的情况来说,会很慢,更合适用于大数据集的离线计算

有差错的话,就可能之前的错误操作乱了,重新进hive,重新进一遍你自己的数据库和你自己的表,再进行后面操作。

 分区:

创建表的时候,第二行:partitioned by (新的一列名 类型)

插入数据的时候,分区直接在括号里写上:

 

创建分区的那一行要在row分割那一行的上面


创建的数据库、表、表信息等等可以在:

1.web端看


2.在mysql客户端看



推荐阅读
  • asp.net伪静态 关于页面优化和伪静态
    后端开发|php教程asp.net伪静态后端开发-php教程关于页面优化和伪静态1)版面优化2)伪静态(重点涉及apache,smarty,正则)详细内容:A、版面优化:版面优化其 ... [详细]
  • 前端开发,不仅仅是需要会写页面而已,还需要具备很多技能,现做如下总结:会点设计,不要求精湛,处理图片,设计个小广告是要的;精通HTML+CSS,并能快速处理各浏览器兼容问题;熟练掌握Javascrip ... [详细]
  • Django 【第二十篇】后端CORS解决跨域问题
    一、为什么会有跨域问题?是因为浏览器的同源策略是对ajax请求进行阻拦了,但是不是所有的请求都给做跨域,像是一般的href属性,a标签什么的都不拦截。二、解决跨域问题的两种方式JS ... [详细]
  • 用nodejs搭建代理服务器
    题图From极客时间FromClm前端开发者在工作中常常遇到跨域的问题,一般我们遇到跨域问题主要使用以下办法来解决:1、jsonp2、cors3、配置代理服务器。 ... [详细]
  • 如何解决《改变ASP.netMVC项目的不同之后的错误》经验,为你挑选了1个好方法。 ... [详细]
  • jqBash,unfortunately,doesn’tshipwithacommandthatcanworkwithJSONnatively.Inthislesson,we’ll ... [详细]
  • MVC4 前后台数据交互问题
    想要实现的功能:有一张用户表,想要管理此用户表(暂且只查询--分页查询)查询用户表并将其显示在页面上,10条记录分一页。大致如下(python实现的,布吉岛怎么在winserver部署, ... [详细]
  • 开发工具与关键技术:VS  ,  ASP.NET.MVC;作者:吴维杰撰写时间:2019.04.29 数据库的编程基础:增,删,查,改,是在我所学的这个项目中用的最多的,它们百变不 ... [详细]
  • 本文主要为大家分享一篇使用Ajax更新ASP.NetMVC项目中的报表对象方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧,希望能帮助到大家。Ajax技术显著加 ... [详细]
  • 如何解决《AndroidStudio3.0,AAPT2编译失败-资源文件中的dimen无效》经验,为你挑选了1个好方法。 ... [详细]
  • 如何解决《终端控制台中的Git-AndroidStudio-自动完成》经验,为你挑选了1个好方法。 ... [详细]
  • 如何解决《Actionscript3和Flex4通过触摸滚动TileList》经验,应该怎么办? ... [详细]
  • 20200609——ambari的源码解析
    ambari的介绍ambari是基于hadoop的分布式集群配置管理工具,是由hortonworks主导的开源项目。它已经成为apache基金会的孵化器项目,已经成为hadoop运 ... [详细]
  • 本篇内容介绍了“Hadoop和Spark的定义是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下 ... [详细]
  • 如何解决《使用游侠保护nifi时出现SSL证书错误》经验,为你挑选了1个好方法。 ... [详细]
author-avatar
薄雨如烟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有