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-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最近我发现一个绝招,用DeepSeek AI处理Excel数据简直太爽了!处理速度嘎嘎快! 平常一整天的表格处理工作,现在只要三步就能搞 ...
2025-04-01你是否被统计学复杂的理论和晦涩的公式劝退过?别担心,“山有木兮:统计学极简入门(Python)” 将为你一一化解这些难题。课程 ...
2025-03-31在电商、零售、甚至内容付费业务中,你真的了解你的客户吗? 有些客户下了一两次单就消失了,有些人每个月都回购,有些人曾经是 ...
2025-03-31在数字化浪潮中,数据驱动决策已成为企业发展的核心竞争力,数据分析人才的需求持续飙升。世界经济论坛发布的《未来就业报告》, ...
2025-03-28你有没有遇到过这样的情况?流量进来了,转化率却不高,辛辛苦苦拉来的用户,最后大部分都悄无声息地离开了,这时候漏斗分析就非 ...
2025-03-27TensorFlow Datasets(TFDS)是一个用于下载、管理和预处理机器学习数据集的库。它提供了易于使用的API,允许用户从现有集合中 ...
2025-03-26"不谋全局者,不足谋一域。"在数据驱动的商业时代,战略级数据分析能力已成为职场核心竞争力。《CDA二级教材:商业策略数据分析 ...
2025-03-26