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
“用户旅程分析”概念 用户旅程图又叫做用户体验地图,它是用于描述用户在与产品或服务互动的过程中所经历的各个阶段、触点和情 ...
2025-01-22在竞争激烈的商业世界中,竞品分析对于企业的发展至关重要。今天,我们就来详细聊聊数据分析师写竞品分析的那些事儿。 一、明确 ...
2025-01-22在数据分析领域,Excel作为一种普及率极高且功能强大的工具,无疑为无数专业人士提供了便捷的解决方案。尽管Excel自带了丰富的功 ...
2025-01-17在这个瞬息万变的时代,许多人都在寻找能让他们脱颖而出的职业。而数据分析师,作为大数据和人工智能时代的热门职业,自然吸引了 ...
2025-01-14Python作为一门功能强大的编程语言,已经成为数据分析和可视化领域的重要工具。无论你是数据分析的新手,还是经验丰富的专业人士 ...
2025-01-10完全靠数据决策,真的靠谱吗? 最近几年,“数据驱动”成了商界最火的关键词之一,但靠数据就能走天下?其实不然!那些真正成功 ...
2025-01-09SparkSQL 结构化数据处理流程及原理是什么?Spark SQL 可以使用现有的Hive元存储、SerDes 和 UDF。它可以使用 JDBC/ODB ...
2025-01-09在如今这个信息爆炸的时代,数据已然成为企业的生命线。无论是科技公司还是传统行业,数据分析正在深刻地影响着商业决策以及未来 ...
2025-01-08“数据为王”相信大家都听说过。当前,数据信息不再仅仅是传递的媒介,它成为了驱动经济发展的新燃料。对于企业而言,数据指标体 ...
2025-01-07在职场中,当你遇到问题的时候,如果感到无从下手,或者抓不到重点,可能是因为你掌握的思维模型不够多。 一个好用的思维模型, ...
2025-01-06在现代企业中,数据分析师扮演着至关重要的角色。每天都有大量数据涌入,从社交媒体到交易平台,数据以空前的速度和规模生成。面 ...
2025-01-06在职场中,许多言辞并非表面意思那么简单,有时需要听懂背后的“潜台词”。尤其在数据分析的领域里,掌握常用术语就像掌握一门新 ...
2025-01-04在当今信息化社会,数据分析已成为各行各业的核心驱动力。它不仅仅是对数字进行整理与计算,而是在数据的海洋中探寻规律,从而指 ...
2025-01-03又到一年年终时,各位打工人也迎来了展示成果的关键时刻 —— 年终述职。一份出色的年终述职报告,不仅能全面呈现你的工作价值, ...
2025-01-03在竞争激烈的商业世界中,竞品分析对于企业的发展至关重要。今天,我们就来详细聊聊数据分析师写竞品分析的那些事儿。 一、明确 ...
2025-01-03在数据分析的江湖里,有两个阵营总是争论不休。一派信奉“大即是美”,认为数据越多越好;另一派坚守“小而精”,力挺质量胜于规 ...
2025-01-02数据分析是一个复杂且多维度的过程,从数据收集到分析结果应用,每一步都是对信息的提炼与升华。可视化分析结果,以图表的形式展 ...
2025-01-02在当今的数字化时代,数据分析师扮演着一个至关重要的角色。他们如同现代企业的“解密专家”,通过解析数据为企业提供决策支持。 ...
2025-01-02数据分析报告至关重要 一份高质量的数据分析报告不仅能够揭示数据背后的真相,还能为企业决策者提供有价值的洞察和建议。 年薪 ...
2024-12-31数据分析,听起来好像是技术大咖的专属技能,但其实是一项人人都能学会的职场硬核能力!今天,我们来聊聊数据分析的核心流程,拆 ...
2024-12-31