Hadoop:一个分布式系统基础架构,由Apache基金会开发,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力告诉运算和存储。
Hadoop是项目的总称,主要是由分布式存储(HDFS)、分布式运算(MapReduce)组成。
HIVE是一个SQL解析引擎,它将SQL语句转译成M/RJOB 然后再Hadoop执行,与传统数据库完全不同,只是采用了同样的sql界面。
2、hadoop基本操作
2.1 查看指定目录下内容
Hadoop dfs –ls[文件目录]
如:hadoop dfs –ls /user/war/wangkai.pt
2.2 打开某个已存在的文件
Hadoop dfs –cat [file_path]
如:hadoop dfs –cat /user/war/wangkai.pt/test.txt
2.3 删除某个文件
hadoop fs -rm hdfs://ns4/user/mart_vdp/app.db/app_vdp_jdb_jw_store_task_rules/store_task.txt
2.4 将本地文件存储至hadoop
Hadoop fs –put [本地地址]
3、hive基本操作
3.1 进入hive
登陆hadoop服务器后,输入 hive(这处理的有点慢,多等会)
显示成hive>
>
后,即表示进入到hive中
3.2 hive基本操作
3.2.1 建表
语句:
CREATE [EXTERNAL] TABLE table_name
(col_name data_rype,.....)
[PATTITIONED BY (col_name data_type)]
[ROW FORMAT DELIMITED
[FIELDS TERMINATED BY '/t' ]
[STORED AS TEXTFILE]
举例:
create table input_data_test #表名
( item_sku_id string , #字段名称 字段类型
provider_code string ,
delivery_center string ,
stock bigint )
COMMETN '注释:XXXXX' #表注释
PARTITIONED BY ("ACTIVE") #分区表字段(如果文件非常大的话,采用分区表可以快速过滤出按分区字段划分的数字)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '/t' #字段之间是按照什么分割开的,这个例子是中按照tab键分开,还可以使用其他字符,如|分开
STORED AS TEXTFILE; #用哪种方式存储数据
3.2.2 查看库
语句:show databases;
使用某一个库:use database;
3.2.3 查看表
语句:show tables
可以使用模糊查询:show tables '*TMP*'
查看表有哪些分区: show partitions table;
使用某一个表:use table;
查看表字段:desc table;
3.2.4删除表
Drop table table_name;
3.2.5增加字段:
alter table fdm_cep_ql_service_center_chain add columns (jd_account string);
3.2.6 导入数据
使用load命令将数据导入表中 load操作只是将数据复制/移动至Hive表对应的位置,不会对数据进行任何转换。
语句:
load data [local] inpath 'filepath' [overwrite] into table tablename [partition ]
举例:
load data local inpath '/python/app/task/data/gdm_m03_item_sku_da_06.txt' into table gdm.gdm_m03_item_sku_da;(不带分区)
load data local inpath '/python/app/task/data/no_commission_rules.txt' into table app.app_vdp_nojdb_jw_sku_commission_rules;(带分区)
注:就是普通的insert,只不过数据来源是通过inpath路径找到的,insert之前保证表已建完,并且格式于建表语句要求的格式一致(换行、分隔符等)
3.2.7 查询
1、where 语句
Where语句是个布尔表达式,例如:下面的查询语句只返回销售记录大于10,且归属地属于美国的销售代表。
Select * from sales where amount >10 and region =’US’
注:hive不支持where子句中的IN、EXIST或子查询。
2、基于partition的查询
一般select查询会扫描整个表(除非是为了抽样查询)。但是如果一个表使用partitioned by子句建表,查询就可以利用分区剪枝(input pruning)的特性,只扫描一个表中他关心的那一部分。
Hive当前的是实现是。只有分区断言出现在离from子句最近的那个where子句中,才会取用分区剪枝。
例如,如果表app_vdp_base_jdbang_income_ma_sum使用date列分区,一下语句只会读取分区为‘2016-06-01’的数据。
Select *
from app_vdp_base_jdbang_income_ma_sum
where tx_dt>=’2016-06-01’ and tx_dt <=’2016-06-31’
3、limit查询
Limit可以限制查询的记录数,查询的结果是随机选择的。下边的查询语句从t1表中随机查询5条记录:
Select * from t1 limit 5;
如果需要查询top多少的数据,则需要使用下面的语句:
查询销售记录最大的5个销售代表:
Select * from sales order by amount desc limit 5;
3.2.8 修改数据
Hive不支持update数据。
同时,hive导入数据的时候不会自动去重。
3.2.9 删除数据
Hive不支持条件删除,只能删除整个表后再重新建。
3.2.10 结果导出
在hive中查询出表数据后,如果数据太多,不好看,可以将数据导出来,然后在本地使用UE等工具查看。此命令在在linux下执行
格式:hive –e ‘查询语句’ > 文件名.txt #将查询语句查询出来的结果导出到txt中
例如:
hive - e 'select * from app.app_vdp_jdbang_jwang_xiadan_detail;' > wangsha1.txt
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA持证人简介: 居瑜 ,CDA一级持证人国企财务经理,13年财务管理运营经验,在数据分析就业和实践经验方面有着丰富的积累和经 ...
2025-04-25在当今数字化时代,数据分析师的重要性与日俱增。但许多人在踏上这条职业道路时,往往充满疑惑: 如何成为一名数据分析师?成为 ...
2025-04-24以下的文章内容来源于刘静老师的专栏,如果您想阅读专栏《刘静:10大业务分析模型突破业务瓶颈》,点击下方链接 https://edu.cda ...
2025-04-23大咖简介: 刘凯,CDA大咖汇特邀讲师,DAMA中国分会理事,香港金管局特聘数据管理专家,拥有丰富的行业经验。本文将从数据要素 ...
2025-04-22CDA持证人简介 刘伟,美国 NAU 大学计算机信息技术硕士, CDA数据分析师三级持证人,现任职于江苏宝应农商银行数据治理岗。 学 ...
2025-04-21持证人简介:贺渲雯 ,CDA 数据分析师一级持证人,互联网行业数据分析师 今天我将为大家带来一个关于用户私域用户质量数据分析 ...
2025-04-18一、CDA持证人介绍 在数字化浪潮席卷商业领域的当下,数据分析已成为企业发展的关键驱动力。为助力大家深入了解数据分析在电商行 ...
2025-04-17CDA持证人简介:居瑜 ,CDA一级持证人,国企财务经理,13年财务管理运营经验,在数据分析实践方面积累了丰富的行业经验。 一、 ...
2025-04-16持证人简介: CDA持证人刘凌峰,CDA L1持证人,微软认证讲师(MCT)金山办公最有价值专家(KVP),工信部高级项目管理师,拥有 ...
2025-04-15持证人简介:CDA持证人黄葛英,ICF国际教练联盟认证教练,前字节跳动销售主管,拥有丰富的行业经验。在实际生活中,我们可能会 ...
2025-04-14在 Python 编程学习与实践中,Anaconda 是一款极为重要的工具。它作为一个开源的 Python 发行版本,集成了众多常用的科学计算库 ...
2025-04-14随着大数据时代的深入发展,数据运营成为企业不可或缺的岗位之一。这个职位的核心是通过收集、整理和分析数据,帮助企业做出科 ...
2025-04-11持证人简介:CDA持证人黄葛英,ICF国际教练联盟认证教练,前字节跳动销售主管,拥有丰富的行业经验。 本次分享我将以教培行业为 ...
2025-04-11近日《2025中国城市长租市场发展蓝皮书》(下称《蓝皮书》)正式发布。《蓝皮书》指出,当前我国城市住房正经历从“增量扩张”向 ...
2025-04-10在数字化时代的浪潮中,数据已经成为企业决策和运营的核心。每一位客户,每一次交易,都承载着丰富的信息和价值。 如何在海量客 ...
2025-04-09数据是数字化的基础。随着工业4.0的推进,企业生产运作过程中的在线数据变得更加丰富;而互联网、新零售等C端应用的丰富多彩,产 ...
2025-04-094月7日,美国关税政策对全球金融市场的冲击仍在肆虐,周一亚市早盘,美股股指、原油期货、加密货币、贵金属等资产齐齐重挫,市场 ...
2025-04-08背景 3月26日,科技圈迎来一则重磅消息,苹果公司宣布向浙江大学捐赠 3000 万元人民币,用于支持编程教育。 这一举措并非偶然, ...
2025-04-07在当今数据驱动的时代,数据分析能力备受青睐,数据分析能力频繁出现在岗位需求的描述中,不分岗位的任职要求中,会特意标出“熟 ...
2025-04-03在当今数字化时代,数据分析师的重要性与日俱增。但许多人在踏上这条职业道路时,往往充满疑惑: 如何成为一名数据分析师?成为 ...
2025-04-02