京公网安备 11010802034615号
经营许可证编号:京B2-20210330
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
人力资源专员是HR体系的执行入口。招聘信息发布、简历初筛、面试安排、考勤汇总、入离职手续、劳动合同与档案管理,大多由这个岗 ...
2026-10-22人力资源经理问“必学技巧”,真正要解决的不是知识清单不够长,而是时间有限、业务催得紧,学完却用不上。更有效的路径是:先用 ...
2026-10-22内容营销岗位的核心任务,不是“把文案写得更漂亮”,而是围绕目标受众,用持续的内容供给影响认知、推动转化并沉淀复购。它至少 ...
2026-10-22理财经理培训课程很多,难的是判断“先学什么、后学什么、学完能做什么”。与其按课程名称罗列,不如先看岗位任务:客户分层与维 ...
2026-10-22理财经理的知识结构,可以先用一句话概括:合规与产品知识决定“不出错”,客户经营与资产配置决定“够不够专业”,市场研判与数 ...
2026-10-22经济学背景做数据分析,优势不在工具,而在问题意识:供需如何相互作用、成本与收益如何权衡、变量之间是相关还是因果。真正的缺 ...
2026-10-22需要,但要把“需要”理解准确。经济学本身就在处理数据:GDP、物价、就业、企业营收、问卷调研,都是经济分析的原料。真正的区 ...
2026-10-22经济学分析能力不是单一技能,它至少由三层构成:把现实问题转成可检验假设的理论框架能力、用数据与统计方法验证假设的工具能力 ...
2026-10-22金融分析师的知识提升,先补的不是更多模型,而是让结论可复核的底层能力。按任务顺序,大致是四层:财务与业务理解、指标口径管 ...
2026-10-22金融分析师的“通用技能”,指换到不同机构、不同行业组仍用得上的底层能力,而非某家公司内部系统的操作经验。按任务拆,日常要 ...
2026-10-22先给结论:数据分析证书不是金融分析师的准入条件,招聘方也不会因为一张证书就直接判断你能做分析。要不要考,取决于你当前任务 ...
2026-10-22金融分析师的核心技能,不是“会看K线”或“会讲宏观”,而是能把一家公司、一个行业或一类资产,转化为可核查的数据判断与书面 ...
2026-10-22产品经理的知识提升,不是把需求文档、原型、SQL、数据分析、项目管理都学一遍,而是先对准目标岗位的真实任务,找出自己最缺的 ...
2026-10-22产品专员提升工作知识,最有效的方式不是先囤课程,而是围绕日常交付的四件事来补:需求调研与优先级判断、原型与PRD表达、竞品 ...
2026-10-22产品运营专员提升个人能力,常见误区是先把Excel、SQL、Python列成一张学习清单,然后从第一个工具开始学。更有效的做法是先回答 ...
2026-10-22产品运营的能力提升,最怕从“课程目录”出发:今天学增长模型,明天背SQL语法,学完却说不清自己负责的功能为什么激活率低。更 ...
2026-10-22产品经理的技能和影响力不是两条分开的赛道。技能决定你能不能把问题分析清楚、把方案设计对;影响力决定你的判断能否被团队接受 ...
2026-10-22产品经理要学的数据分析能力,不是“会写SQL”或“会用BI工具”这么简单。更准确地说,是围绕需求评估、功能迭代、指标监控、实 ...
2026-10-22产品经理的业务能力,不是“会用多少工具”,而是能否把业务目标翻译成可执行的指标、用数据验证判断、再推动方案落地并复盘。全 ...
2026-10-22产品经理快速提升职场技能,关键不在多报几门课,而在于先找出当前岗位上最影响产出的一两项能力缺口,围绕“业务理解—需求与指 ...
2026-10-22