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

国外买域名的网站/如何做网站营销推广

国外买域名的网站,如何做网站营销推广,vpswindows野外大全,北京手机网站搭建多少钱1.查看mysql中metastore数据存储结构Metastore中只保存了表的描述信息(名字,列,类型,对应目录)使用SQLYog连接itcast05 的mysql数据库查看hive数据库的表结构:2.建表(默认是内部表(先建表,后有数据))(建表时必须指定列…

1.查看mysql中metastore数据存储结构

Metastore中只保存了表的描述信息(名字,列,类型,对应目录)

使用SQLYog连接itcast05 的mysql数据库

67ab395c15591780b5a6c7144f4f0e7f.png

查看hive数据库的表结构:

d2be07a4592ddf46493b8b8b1e19c279.png

2.建表(默认是内部表(先建表,后有数据))

(建表时必须指定列的分隔符)

create table trade_detail(

id bigint,

account string,

income double,

expenses double,

time string)

row format delimited fields terminated by '\t';

3.Hive状态下执行Hadoop hdfs命令

在使用hive shell 的时候,我们有时候需要操作hdfs

Hive为我们提供了在hive命令行下hdfs的shell:

,例如:

dfs -ls /;

dfs -mkdir /data;

dfs -put /root/student.txt;

用法和hdfs下是一样的,只是细微的差别

和Hadoop命令稍微有些差别,前面是dfs开头,后面以“;”结尾

4.创建–外部表(先有数据,后建表)

先上传数据文件 a.txt b.txt 到hdfs:/data目录下,

a.txt 和 b.txt 中的内容都是:

999e0a442dde7bfd133b60f09b2950bd.png

后执行创建表的命令:

create external table ext_student (

id int,

name string)

row format delimited fields terminated by '\t'

location '/data';

创建完成后使用命令:select * from ext_student; 查看表中内容:

88e2c286440670599619547f4c2aed58.png

再次上传数据文件 pep.avi

6c1c3481fd5f503b6f9a2da74985b8d6.png

到 hdfs:/data 目录下,后执行全表扫描:select * from ext_student;

bc2546fd866683ff65b8075b9645906c.png

说明:只要将这个数据放到 hdfs:/data 表所指定的目录下,hive就能将这个表中的数据读取出来(内部表和外部表都支持,但也存在特殊情况读不出)

为什么把文件丢到对应目录下就能把数据读出来?

答:因为metastore记录了这张表和数据的映射关系

SDS表中的内容:

817ed9b0f94d5b8cc916fddd51d2dad8.png

5.创建–分区表

建分区表是为了提高数据的查询效率,按照省份、年份、月份等分区

创建一个外部分区表(External Table ):

(表名:beauties 指向文件:beauty)

create external table beauties (

id bigint,

name string,

size double)

partitioned by (nation string)

row format delimited fields terminated by ‘\t’

location ‘/beauty’ ;

show create table beauties;

执行完成之后发现hdfs根目录下有beauty文件夹。

准备好3个数据文件: b.c b.j b.a

671721c0aec86e209c47dc1b5ffd0958.png

6ecccba1d3fbdc7024349b31d4e679b8.png

35c6ec33cb87455c9e6165d6e9e9b403.png

载入数据文件,同时指定分区:

load data local inpath '/root/b.c' into table beauties partition (nation='China');

查看表中是否成功load数据:

58df4c6af7e195c741920edd2c882190.png

突发奇想:能否像平常使用外部表一样,在 hdfs:/beauty 目录下创建一个文件夹 nation=Japan ,然后将b.j 文件上传到这个目录下,数据就可以查出来了?

答:不行! 因为在载入数据的时候,metastore是不知道你将这个文件放到 /beauty/nation=Japan/ 目录下的。

拯救方法:通知hive在元数据库中添加一个beauties表的分区记录

alter table beauties add partition (nation=’Japan’) location “/beauty/nation=Japan/”

添加分区后,metastore中SDS表多了一条 记录:

3856bdb8507ff5805c4caed8691099b1.png

再次查询beauties表,发现b.j中的数据也能查询出来了:

分区表的使用优势:

select * from beauties where nation=’China’;

在数据量很大的时候,建分区表可以提高查询效率,就不需要将整张表数据筛选对比之后再输出,因为数据在hdfs中直接是以分区存储的,所以使用类似”nation”等分区字段是可以直接把数据取出的

删除分区:

alter table beauties drop if exists partition (nation ='Japan') ;

注:这里的 if exists 字段呢,是一个检查分区是否存在的字段,存在则删除,不存在也不会报错说分区不存在啦

建内部分区表(Managed Table)

create table td_part(

id bigint,

account string,

income double,

expenses double,

time string)

partitioned by (logdate string)

row format delimited fields terminated by '\t';

普通表和分区表区别:有大量数据增加的需要建分区表

create table book (

id bigint,

name string)

partitioned by (pubdate string)

row format delimited fields terminated by '\t';

分区表加载数据

(hive自己的语法)

load data local inpath './book.txt'

overwrite into table book

partition (pubdate='2010-08-22');

local inpath –>从本地磁盘加载,不是hdfs

overwrite –>以覆盖的方式将数据写入book表中

以下创建表的方式少了“overwrite”,则是以追加方式将数据加载到hive表中:

load data local inpath '/root/data.am'

into table beauty

partition (nation="USA");

使用分区字段查询表中的数据

select nation, avg(size) from beauties group by nation order by avg(size);

6. 表关联查询

查询举例:

需求:

对 trade_detail 按照账户进行分组,求出每个账户的总支出总结余,然后和 user_info 进行表关联,取出名称。

在mysql中一条查询语句就能完成关联查询:

select t.account,u.name,t.income, t.expenses, t.surplus

from user_info u join (

select account,sum(income) as income,sum(expenses) as expenses,sum(income-expenses) as surplus

from trade_detail group by account

) t

on u.account = t.account

但是数据量一大,这个查询过程将变得极其漫长

所以我们使用hive来完成:

a) 首先要将2张表中的数据导入hdfs中,同样,我们也可以将mysql中的数据直接导入到hive表里面:

Mysql中的表:

trade_detail表:

7fbbe340b567cb01f77419c766f15bf1.png

user_info表:

f6f865bd447f5c1ee16b748566600ad7.png

b) 在hive中创建表

trade_detail表:

create table trade_detail (

id bigint,

account string,

income string,

expenses string ,

times string)

row format delimited fields terminated by ‘\t’;

user_info表:

create table user_info (

id int,

account string,

name string,

age int)

row format delimited fields terminated by ‘\t’;

c) 使用Sqoop 将mysql中trade_detail的数据导入hive中

./sqoop import

--connect jdbc:mysql://192.168.1.102:3306/itcast

--username root

--password 123

--table trade_detail

--hive-import

--hive-overwrite

--hive-table trade_detail

--fields-terminated-by '\t';

可能会出现如下的错误:

d15e1882d1cb70d09dd2a5e23a1b269e.png

原因是没有将hive添加到环境变量:

解决:

1)编辑 /etc/profile 文件,添加HIVE_HOME:

c2ac27bdc21f57d973c26715e6f2b3f1.png

2)source /etc/profile 刷新配置

3)使用 which 命令查看是否添加成功:

c6667eaefdde66e3937238b0c8641b84.png

ok

4)再次执行sqoop命令,发现sqoop导入正在执行,可以看到map-reduce工作正在执行,在web浏览器上查看执行完成之后的结果文件:

0cd08ea140c268a26c791733c70bb382.png

Sqoop导入执行成功!

d) 使用Sqoop 将mysql中user_info的数据导入hive的user_info中

./sqoop import

--connect jdbc:mysql://192.168.1. 102:3306/itcast

--username root

--password 123

--table user_info

--hive-import

--hive-overwrite

--hive-table user_info

--fields-terminated-by '\t';

e) hive执行关联查询语句之后的结果:

select t.account,u.name,t.income, t.expenses, t.surplus

from user_info u join (

select account,sum(income) as income,sum(expenses) as expenses,sum(income-expenses) as surplus

from trade_detail group by account

) t

on u.account = t.account;

98216fb758f74d99a1780e0cb4be9d87.png

经验证,这样的查询结果和在mysql中执行的结果是相同的

http://www.lbrq.cn/news/1615789.html

相关文章:

  • wordpress搭建微信小程序/郑州seo外包公司哪家好
  • 租网站空间/今天头条新闻100条
  • 任丘哪里做网站/爱站工具包的模块
  • 青县做网站价格/淄博新闻头条最新消息
  • 用hexo做网站/百度代理公司
  • 网站内容分享/页面优化算法
  • 网站注销申请/网络运营推广
  • wordpress 旅行/手机优化软件排名
  • 北京专业网站建设/sem是什么缩写
  • 建个商城网站多少钱/seo外包公司兴田德润官方地址
  • 服装搭配网站建设策划书/网络营销的四个策略
  • 国内网站建设代理/信息流推广
  • 青岛建设网站/方象科技的企业愿景
  • 杭州自适应网站建设/长春seo优化
  • 网上注册公司流程工商/seo推广排名平台有哪些
  • 济南 网站开发/数据分析师报考官网
  • 广州英文网站建设/在线一键建站系统
  • 漳州做网站建设的公司/app推广活动策划方案
  • 网站建设和优化的营销话术/成都seo达人
  • 申论我国政府网站建设和管理的现状/seo优化系统
  • 网站备案包括哪些/网络营销推广及优化方案
  • 东营微信网站制作/互联网营销师报名费
  • 做爰片免费网站视频/专业关键词排名优化软件
  • 0元购怎么在网站做/html简单网页成品
  • 自己做的网站源码如何安装/分类达人介绍
  • 自适应型网站建设费用/怎么申请一个网站
  • 山东软件开发的公司/长沙关键词优化首选
  • 百度seo点击排名优化/重庆关键词优化软件
  • 清远专业网站建设/站长工具 seo查询
  • 网站制作设计收费标准/品牌推广战略
  • FFmpeg+javacpp中纯音频播放
  • NCV8402ASTT1G自保护N沟道功率MOSFET安森美/ONSEMI 过流过温保护汽车级驱动NCV8402ASTT1
  • 【深度学习】【三维重建】windows11环境配置PyTorch3d详细教程
  • 除数博弈(动态规划)
  • 再见!三层框架开发
  • Java 大视界 -- Java 大数据在智能安防视频监控系统中的视频摘要生成与智能检索优化进阶(377)