当前位置: 首页 > news >正文

易安卓做网站百度竞价专员

易安卓做网站,百度竞价专员,网站开发的试题,网页设计软件dream什么是Hive hive是基于Hadoop的一个数据仓库工具,可以将结构化数据映射为一张表。 hive支持使用sql语法对存储的表进行查询 (本质上是把sql转成mapreduce的任务执行) Hive有三个特点: hive所存储的数据是放在HDFS文件系统中的h…

什么是Hive

hive是基于Hadoop的一个数据仓库工具,可以将结构化数据映射为一张表。
hive支持使用sql语法对存储的表进行查询
(本质上是把sql转成mapreduce的任务执行)

Hive有三个特点:

  • hive所存储的数据是放在HDFS文件系统中的
  • hive的底层实现是mapreduce
  • 这些任务是运行在Yarn上的

如何构建Hive数据仓库

什么是数据仓库

官方定义:数据仓库是面向主题的、集成的、不可更新的、随时间的变化而不断变化的,这些特点决定了数据仓库的系统设计不能采用同开发传统的OLTP数据库一样的设计方法。

(1)安装hive
常规配置,这里不记录安装过程

唯一需要注意的地方是有一个hive.metastroe.dirname属性需要配置
配置的值是hive元数据的存储路径,一般为hdfs文件系统的路径。

安装完成后,需要在mysql中建立配置中指定的数据库并初始化Hive源数据库

(2)安装完成之后就可以启动hive

Hive数据仓库的储存方式

Hive本身是没有专门的数据存储格式,也没有为数据建立索引,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据。所以往Hive表里面导入数据只是简单的将数据移动到表所在的目录中 。

Hive主要有四种数据模型:

  • Table(表)
  • External Table(外部表)
  • Partition(分区)
  • Bucket(桶)

(1)表的概念和关系型数据库的表很像,只不过hive中的表的本质是结构化数据,存储在hdfs文件系统的目录中。这个目录就是前文着重要求的metastore的位置,文件就是存在那里的。

(2)外部表顾名思义,就是数据不存放在所属目录中,而是存放在别处。

(3)分区,这个很重要,我觉得分区的存在就是数据仓库与关系型数据库最大的区别,表的每一个分区对应表下的相应目录,所有分区的数据都是存储在对应的目录中。
(4)桶:对指定的列计算其hash,根据hash值切分数据,目的是为了并行,每一个桶对应一个文件(注意和分区的区别)。

Hive的元数据

Hive的元数据一般都是放在mysql中的,这样的原因是因为Hive的元数据需要不断的更新、修改,而HDFS系统中的文件是多读少改的,不能将Hive的元数据存储在HDFS中。

hive数据的导入导出

导入

导入的方式有两种

  • 从本地导入数据
  • 从HDFS导入数据

(1)从本地向hive导入数据
语法:

load data local
inpath '/opt/dataaplace/...'
(overwrite) into table tablename 
partition (partitionfield = xxx);

load data:表示导入数据

local:表示从本地加载数据到hive表;否则从HDFS加载数据到hive表

partition (…)表示指定导入数据的分区字段

overwrite表示覆盖写入,如果没有则是追加写入

例子:

load data local
inpath '/opt/data/StudentId.txt'
overwrite into table Student;

(2) 加载HDFS文件到hive中
语法:

load data 
inpath '/root/data/...'
(overwrite) into table tablename 
partition (partitionfield = xxx);

不加local默认从hdfs中导入数据

hive创建表

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

前半部分和mysql的建表语句一样,后半部分是指定表的分隔符。

  • 插入数据
insert into table tablename values(1,"zhangsan"),(2,"lisi");

insert into:以追加数据的方式插入到表

insert overwrite into table tablename values(1,"zhangsan"),(2,"lisi");

加了overwrite 则是覆盖原来的表然后写入

  • 根据查询结果覆盖写入
insert overwrite table tablename values(3,"wangwu")
select id,name from tablename where id = 1;
  • 创建表时通过Location指定加载数据路径
create table tablename(id int, name string
)
row format delimited fields terminated by '\t'
location '/root/hive/wirehouse/...';

location 指定的是hdfs中的路径

数据导出

参考博客:添加链接描述

# 1)将查询的结果导出到本地(只能overwrite,不能into,否则会报错)
insert overwrite local directory '/opt/module/hive/datas/export/student' select * from student;# 2)将查询的结果格式化导出到本地(所有的insert语句都会跑MR)
insert overwrite local directory '/opt/module/hive/datas/export/student1' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'select * from student;# 3)将查询的结果导出到HDFS上(没有local)(是复制,原来的文件还在)
insert overwrite directory '/user/qinjl/student2'ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' select * from student;

注意:insert 导出,导出的目录不用自己提前创建,hive会帮我们自动创建,但是由于是overwrite,所以导出路径一定要写具体,否则很可能会误删数据。

  • Hadoop命令也可以导出数据到本地
 dfs -get /user/hive/warehouse/student/student.txt/opt/module/hive/datas/export/student3.txt;
  • Hive Shell 命令导出
hive_dir/bin/hive -e 'select * from ods.order_info;' >> 
/opt/module/datas/order_info.txt
  • hive表也可以通过export 导入到hdfs上
export table ods.user_info to /user/hive/warehouse/user_info;
http://www.ds6.com.cn/news/92090.html

相关文章:

  • html代码大全网页设计网络优化工程师前景如何
  • 有没有帮人做简历的网站卡点视频免费制作软件
  • drupal做新闻网站搜索引擎优化举例说明
  • 宁波公司查询seo课程培训中心
  • 目前流行的网站分辨率做多大网络推广服务外包公司
  • 深圳网站设计首选柚米电销精准客户资源
  • web网站开发pythonPPT网站排名优化快速
  • 凯里信息网站制作app平台需要多少钱
  • 做网站设计服务商百度云搜索
  • 网站优化排名技巧qq推广网站
  • 南通建网站湖口网站建设
  • div+css网站模版下载seo公司的选上海百首网络
  • 黄村网站建设报价自动提取关键词的软件
  • 做音乐网站用什么程序如何推广自己成为网红
  • wordpress菜单目录层叠seo网站推广的主要目的不包括
  • 网站承载量怎么做网站制作app免费软件
  • 网站做快速排名是怎么做的呢互联网金融营销案例
  • 哪个网站做相册好2022最好的百度seo
  • 网站制作优化百度指数快刷软件
  • 彩票网站开发 晓风海城seo网站排名优化推广
  • 深圳公明做网站seo排名优化软件有
  • 美女做那种视频网站有哪些制作网页app
  • 全国企业信息管理查询系统官网苏州seo关键词优化软件
  • 做电销哪些网站可以找到客户端如何做网站推广
  • 张家口城乡建设局网站朝阳seo推广
  • 做ppt的模板网站有哪些怎么在百度上发布广告
  • 做业精灵官方网站北京计算机培训机构前十名
  • 中国铁建网站搜索引擎营销的案例有哪些
  • 在线设计平台 类似pixao乐云seo官网
  • 酒店微信网站建设灰色行业推广平台