
Hadoop:一個分布式系統(tǒng)基礎(chǔ)架構(gòu),由Apache基金會開發(fā),用戶可以在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序,充分利用集群的威力告訴運算和存儲。
Hadoop是項目的總稱,主要是由分布式存儲(HDFS)、分布式運算(MapReduce)組成。
HIVE是一個SQL解析引擎,它將SQL語句轉(zhuǎn)譯成M/RJOB 然后再Hadoop執(zhí)行,與傳統(tǒng)數(shù)據(jù)庫完全不同,只是采用了同樣的sql界面。
2、hadoop基本操作
2.1 查看指定目錄下內(nèi)容
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服務(wù)器后,輸入 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") #分區(qū)表字段(如果文件非常大的話,采用分區(qū)表可以快速過濾出按分區(qū)字段劃分的數(shù)字)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '/t' #字段之間是按照什么分割開的,這個例子是中按照tab鍵分開,還可以使用其他字符,如|分開
STORED AS TEXTFILE; #用哪種方式存儲數(shù)據(jù)
3.2.2 查看庫
語句:show databases;
使用某一個庫:use database;
3.2.3 查看表
語句:show tables
可以使用模糊查詢:show tables '*TMP*'
查看表有哪些分區(qū): 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 導(dǎo)入數(shù)據(jù)
使用load命令將數(shù)據(jù)導(dǎo)入表中 load操作只是將數(shù)據(jù)復(fù)制/移動至Hive表對應(yīng)的位置,不會對數(shù)據(jù)進行任何轉(zhuǎn)換。
語句:
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;(不帶分區(qū))
load data local inpath '/python/app/task/data/no_commission_rules.txt' into table app.app_vdp_nojdb_jw_sku_commission_rules;(帶分區(qū))
注:就是普通的insert,只不過數(shù)據(jù)來源是通過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子句建表,查詢就可以利用分區(qū)剪枝(input pruning)的特性,只掃描一個表中他關(guān)心的那一部分。
Hive當(dāng)前的是實現(xiàn)是。只有分區(qū)斷言出現(xiàn)在離from子句最近的那個where子句中,才會取用分區(qū)剪枝。
例如,如果表app_vdp_base_jdbang_income_ma_sum使用date列分區(qū),一下語句只會讀取分區(qū)為‘2016-06-01’的數(shù)據(jù)。
Select *
from app_vdp_base_jdbang_income_ma_sum
where tx_dt>=’2016-06-01’ and tx_dt <=’2016-06-31’
3、limit查詢
Limit可以限制查詢的記錄數(shù),查詢的結(jié)果是隨機選擇的。下邊的查詢語句從t1表中隨機查詢5條記錄:
Select * from t1 limit 5;
如果需要查詢top多少的數(shù)據(jù),則需要使用下面的語句:
查詢銷售記錄最大的5個銷售代表:
Select * from sales order by amount desc limit 5;
3.2.8 修改數(shù)據(jù)
Hive不支持update數(shù)據(jù)。
同時,hive導(dǎo)入數(shù)據(jù)的時候不會自動去重。
3.2.9 刪除數(shù)據(jù)
Hive不支持條件刪除,只能刪除整個表后再重新建。
3.2.10 結(jié)果導(dǎo)出
在hive中查詢出表數(shù)據(jù)后,如果數(shù)據(jù)太多,不好看,可以將數(shù)據(jù)導(dǎo)出來,然后在本地使用UE等工具查看。此命令在在linux下執(zhí)行
格式:hive –e ‘查詢語句’ > 文件名.txt #將查詢語句查詢出來的結(jié)果導(dǎo)出到txt中
例如:
hive - e 'select * from app.app_vdp_jdbang_jwang_xiadan_detail;' > wangsha1.txt
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10CDA 數(shù)據(jù)分析師:商業(yè)數(shù)據(jù)分析實踐的落地者與價值創(chuàng)造者 商業(yè)數(shù)據(jù)分析的價值,最終要在 “實踐” 中體現(xiàn) —— 脫離業(yè)務(wù)場景的分 ...
2025-09-10機器學(xué)習(xí)解決實際問題的核心關(guān)鍵:從業(yè)務(wù)到落地的全流程解析 在人工智能技術(shù)落地的浪潮中,機器學(xué)習(xí)作為核心工具,已廣泛應(yīng)用于 ...
2025-09-09SPSS 編碼狀態(tài)區(qū)域中 Unicode 的功能與價值解析 在 SPSS(Statistical Product and Service Solutions,統(tǒng)計產(chǎn)品與服務(wù)解決方案 ...
2025-09-09