中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

免費(fèi)空間網(wǎng)站怎么做出來的上海關(guān)鍵詞自動排名

免費(fèi)空間網(wǎng)站怎么做出來的,上海關(guān)鍵詞自動排名,動漫網(wǎng)站開發(fā)需求分析,鵬達(dá)建設(shè)集團(tuán)有限公司網(wǎng)站一.SQL,Hive和MapReduce的關(guān)系 用戶在hive上編寫sql語句,hive把sql語句轉(zhuǎn)化為MapReduce程序去執(zhí)行 二.Hive架構(gòu)映射流程 用戶接口: 包括CLI、JDBC/ODBC、WebGUI,CLI(command line interface)為shell命令行;Hive中的Thrift服務(wù)器允許外部客戶端…

一.SQL,Hive和MapReduce的關(guān)系

?用戶在hive上編寫sql語句,hive把sql語句轉(zhuǎn)化為MapReduce程序去執(zhí)行

?二.Hive架構(gòu)映射流程

用戶接口:

? ? ? ? 包括CLI、JDBC/ODBC、WebGUI,CLI(command line interface)為shell命令行;Hive中的Thrift服務(wù)器允許外部客戶端通過網(wǎng)絡(luò)與Hive進(jìn)行交互,類似于JDBC或ODBC協(xié)議。WebGUI是通過瀏覽器訪問Hive。

? ? ? ? --Hive提供了Hive Shell、ThriftServer等服務(wù)進(jìn)程向用戶提供操作接口

Driver:包括語法解析器、計(jì)劃編譯器、優(yōu)化器、執(zhí)行器

? ? ? ? 作用:完成HQL查詢語句從詞法分析、語法分析、編譯、優(yōu)化以及查詢計(jì)劃的生成。生成的查詢計(jì)劃存儲在HDFS中,并在隨后有MapReduce調(diào)用執(zhí)行。

? ? ? ? 注意:這部分內(nèi)容不是具體的服務(wù)進(jìn)程,而是封裝在Hive所依賴的Jar包中的Java代碼中。

元數(shù)據(jù)包含:用Hive創(chuàng)建的database、table、表的字段等元信息、

元數(shù)據(jù)存儲:存在關(guān)系型數(shù)據(jù)庫中,如hive內(nèi)置的Derby數(shù)據(jù)庫或者第三方MySQL數(shù)據(jù)庫等,一般用MySQL數(shù)據(jù)庫。

Metastore:即元數(shù)據(jù)存儲服務(wù)

作用是:客戶端連接Metastore服務(wù),Metastore再去連接MySQL等數(shù)據(jù)庫來存儲元數(shù)據(jù)。

特點(diǎn):有了Metastore服務(wù),就可以有多個客戶端同時(shí)連接,而且這些客戶端不需要知道MySQL等數(shù)據(jù)庫的用戶名和密碼,只需要Metastore服務(wù)即可。

三.MetaStore元數(shù)據(jù)管理三種模式

metastore服務(wù)配置有3中模式:內(nèi)嵌模式、本地模式、遠(yuǎn)程模式

推薦使用:遠(yuǎn)程模式

?內(nèi)嵌模式:

? ? ? ? 優(yōu)點(diǎn):配置簡單,hive命令直接可以使用

? ? ? ? 缺點(diǎn):不適用于生產(chǎn)環(huán)境,derby和Metastore服務(wù)都嵌入在Hive server進(jìn)程中,一個服務(wù)只能被一個客戶端連接:如果兩個客戶端以上就非常浪費(fèi)資源),且元數(shù)據(jù)不能共享

本地模式:

? ? ? ? 優(yōu)點(diǎn):可以單獨(dú)使用外部的數(shù)據(jù)庫(MySQL),元數(shù)據(jù)共享

? ? ? ? 缺點(diǎn):相對浪費(fèi)資源,Metastore嵌入到了hive進(jìn)程中,每啟動一次hive服務(wù),都內(nèi)置啟動了一個metastore。

遠(yuǎn)程模式:

????????優(yōu)點(diǎn):可以單獨(dú)使用外部庫(MySQL),可以共性元數(shù)據(jù),本地可以連接metastore服務(wù)也可以連接hiveserver2服務(wù),增加了擴(kuò)展性(其他依賴hive的軟件都可以通過metastore訪問hive)

? ? ? ? 缺點(diǎn):需要注意的是如果要啟動hiveserver2服務(wù)需要先啟動metastore服務(wù)

四.hive服務(wù)操作[重點(diǎn)]

啟動hive服務(wù)

[root@node1 /]# nohup hive --service metastore &
[1] 10693
[root@node1 /]nohup: 忽略輸入并把輸出追加到"nohup.out"[root@node1 /]# nohup hive --service hiveserver2 &
[2] 10829
您在 /var/spool/mail/root 中有新郵件
[root@node1 /]nohup: 忽略輸入并把輸出追加到"nohup.out"[root@node1 /]# jps
2704 NodeManager
2209 DataNode
10946 Jps
10693 RunJar
3208 JobHistoryServer
2075 NameNode
2557 ResourceManager
10829 RunJar[root@node1 /]# lsof -i:10000
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    10829 root  522u  IPv6 244847      0t0  TCP *:ndmp (LISTEN)

關(guān)閉hive服務(wù)

[root@node1 /]# jps
2704 NodeManager
2209 DataNode
10946 Jps
10693 RunJar
3208 JobHistoryServer
2075 NameNode
2557 ResourceManager
10829 RunJar
您在 /var/spool/mail/root 中有新郵件
[root@node1 /]# kill -9 10693 10829 
[root@node1 /]# jps
2704 NodeManager
2209 DataNode
10946 Jps
3208 JobHistoryServer
2075 NameNode
2557 ResourceManager
[1]-  已殺死               nohup hive --service metastore
[2]+  已殺死               nohup hive --service hiveserver2

五.客戶端連接[重點(diǎn)]

datagrip連接hive服務(wù)

創(chuàng)建datagrip項(xiàng)目

連接hive

?

配置驅(qū)動jar包?

?datagrip連接MySQL

六.數(shù)據(jù)倉庫和數(shù)據(jù)庫

數(shù)據(jù)倉庫和數(shù)據(jù)庫的區(qū)別?

數(shù)據(jù)庫與數(shù)據(jù)倉庫的區(qū)別:實(shí)際講的是OLTP與OLAP的區(qū)別
OLTP(On-Line Transaction Processin):叫聯(lián)機(jī)事務(wù)處理,也可以稱面向用戶交易的處理系統(tǒng), ?主要面向用戶進(jìn)行增刪改查

OLAP(On-Line Analytical Processing):叫聯(lián)機(jī)分析處理,一般針對某些主題的歷史數(shù)據(jù)進(jìn)行分析 主要面向分析,支持管理決策。

數(shù)據(jù)倉庫主要特征:面向主題的(Subject-Oriented )、集成的(Integrated)、非易失的(Non-Volatile)和時(shí)變的(Time-Variant)

數(shù)據(jù)倉庫的出現(xiàn),并不是要取代數(shù)據(jù)庫,主要區(qū)別如下:
? ? 數(shù)據(jù)庫是面向事務(wù)的設(shè)計(jì),數(shù)據(jù)倉庫是面向主題設(shè)計(jì)的。
? ? 數(shù)據(jù)庫是為捕獲數(shù)據(jù)而設(shè)計(jì),數(shù)據(jù)倉庫是為分析數(shù)據(jù)而設(shè)計(jì)
?? ?數(shù)據(jù)庫一般存儲業(yè)務(wù)數(shù)據(jù),數(shù)據(jù)倉庫存儲的一般是歷史數(shù)據(jù)。
? ? 數(shù)據(jù)庫設(shè)計(jì)是盡量避免冗余,一般針對某一業(yè)務(wù)應(yīng)用進(jìn)行設(shè)計(jì),比如一張簡單的User表,記錄用戶名、密碼等簡單數(shù)據(jù)即可,符合業(yè)務(wù)應(yīng)用,但是不符合分析。
?? ?數(shù)據(jù)倉庫在設(shè)計(jì)是有意引入冗余,依照分析需求,分析維度、分析指標(biāo)進(jìn)行設(shè)計(jì)。

數(shù)據(jù)倉庫基礎(chǔ)三層結(jié)構(gòu)

?

?源數(shù)據(jù)層(ODS):此層數(shù)據(jù)無任何更改,直接沿用外圍系統(tǒng)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù),不對外開放;為臨時(shí)存儲層,是接口數(shù)據(jù)的臨時(shí)存儲區(qū)域,為后一步的數(shù)據(jù)處理做準(zhǔn)備。

數(shù)據(jù)倉庫層(DW):也稱為細(xì)節(jié)層,DW層的數(shù)據(jù)應(yīng)該是一致的、準(zhǔn)確的、干凈的數(shù)據(jù),即對源系統(tǒng)數(shù)據(jù)進(jìn)行了清洗(去除了雜質(zhì))后的數(shù)據(jù)。

數(shù)據(jù)應(yīng)用層(DA或APP):前端應(yīng)用直接讀取的數(shù)據(jù)源;根據(jù)報(bào)表、專題分析需求而計(jì)算生成的數(shù)據(jù)。

?ETL和ELT

廣義上ETL:數(shù)據(jù)倉庫從各數(shù)據(jù)源獲取數(shù)據(jù)及在數(shù)據(jù)倉庫內(nèi)的數(shù)據(jù)轉(zhuǎn)換和流動都可以認(rèn)為是ETL(抽取Extract, 轉(zhuǎn)化Transform , 裝載Load)的過程。

但是在實(shí)際操作中將數(shù)據(jù)加載到倉庫卻產(chǎn)生了兩種不同做法:ETL和ELT。

狹義上ETL: 先從數(shù)據(jù)源池中抽取數(shù)據(jù),數(shù)據(jù)保存在臨時(shí)暫存數(shù)據(jù)庫中(ODS)。然后執(zhí)行轉(zhuǎn)換操作,將數(shù)據(jù)結(jié)構(gòu)化并轉(zhuǎn)換為適合目標(biāo)數(shù)據(jù)倉庫系統(tǒng)的形式,然后將結(jié)構(gòu)化數(shù)據(jù)加載到數(shù)據(jù)倉庫中進(jìn)行分析。

ELT: 從數(shù)據(jù)源中抽取后立即加載。沒有專門的臨時(shí)數(shù)據(jù)庫(ODS),這意味著數(shù)據(jù)會立即加載到單一的集中存儲庫中,數(shù)據(jù)在數(shù)據(jù)倉庫系統(tǒng)中直接進(jìn)行轉(zhuǎn)換,然后進(jìn)行分析

?七.hive數(shù)據(jù)庫操作

基本操作[掌握]

創(chuàng)建數(shù)據(jù)庫: create database [if not exists] 庫名 [location '路徑'];

使用數(shù)據(jù)庫: use 庫名;

注意: location路徑默認(rèn)是: ?hdfs://node1:8020/user/hive/warehouse/庫名.db

刪除數(shù)據(jù)庫: drop database 數(shù)據(jù)庫名 [cascade];

-- hive庫的核心操作
-- 創(chuàng)建數(shù)據(jù)庫
-- 注意: 默認(rèn)location路徑是/user/hive/warehouse/庫名.db
-- 庫路徑: /user/hive/warehouse/hive1.db
create database hive1;
-- 庫路徑: /user/hive/warehouse/test.db
create database test;
-- 使用庫
use hive1;
-- 注意: 建庫的時(shí)候可以使用location修改數(shù)據(jù)庫路徑
-- 庫路徑: /test1
create database test1 location '/test1';-- 為了方便演示location效果,可以先去分別創(chuàng)建一個簡單的表
-- 表路徑:/user/hive/warehouse/hive1.db/stu
create table hive1.stu(id int,name string);
-- 表路徑:/test1/stu
create table test1.stu(id int,name string);-- 演示刪除空數(shù)據(jù)庫
drop database test;
-- 鹽水刪除非空數(shù)據(jù)庫
drop database test1; -- 報(bào)錯,hive比較特殊,drop不能直接刪除有表的庫
-- drop+cascade能夠刪除有表的庫
drop database test1 cascade ;

其他操作[了解]

創(chuàng)建數(shù)據(jù)庫: create database [if not exists] 庫名 [comment '注釋'] [location '路徑'] [with dbproperties ('k'='v')];

修改數(shù)據(jù)庫路徑: alter database 庫名 set location 'hdfs://node1.itcast.cn:8020/路徑'
修改數(shù)據(jù)庫屬性: alter database 庫名 set dbproperties ('k'='v');

查看所有的數(shù)據(jù)庫: show databases;
查看某庫建庫語句: show create database 庫名;
查看指定數(shù)據(jù)庫信息: desc database 庫名;
查看指定數(shù)據(jù)庫擴(kuò)展信息: desc database extended 庫名;
查看當(dāng)前使用的數(shù)據(jù)庫: select current_database();

-- hive庫的其他操作
-- schema在hive/mysql中相當(dāng)于database關(guān)鍵字
create schema demo1;
-- comment: 建庫的時(shí)候可以添加注釋,建議不要中文,因?yàn)閬y碼
-- location: 建表的時(shí)候可以指定hdfs上庫目錄路徑,建議使用默認(rèn)路徑/user/hive/warehouse/庫名.db
-- with dbproperties: 建表的時(shí)候可以設(shè)置屬性,格式是k=v,了解即可
create database demo2comment 'database'location '/user/hive/warehouse/demo2.db'with dbproperties ('name' = 'bz666');
create database demo3;-- 查看指定庫的建庫語句
show create database demo2;
show create database demo3;
-- 查看所有的數(shù)據(jù)庫
show databases;
-- 查看當(dāng)前使用數(shù)據(jù)庫
select current_database();
-- 查看指定庫的基本信息
desc database demo2;
-- 查看指定庫的擴(kuò)展信息
desc database extended  demo2;-- 修改location路徑
-- 注意: 必須是絕對路徑,而且修改后的路徑如果不存在,不會直接創(chuàng)建
alter database demo2 set location 'hdfs://node1.itcast.cn:8020/demo2.db';
-- 以后建表的時(shí)候自動創(chuàng)建
create table demo2.stu(id int,name string);
-- 再次查看指定庫的擴(kuò)展信息
desc database extended  demo2;-- 修改dbproperties
alter database demo2 set dbproperties('name'='binzi');
-- 再次查看指定庫的擴(kuò)展信息
desc database extended  demo2;

八.Hive表概述

建表語法

create [external] table [if not exists] 表名(字段名 字段類型 , 字段名 字段類型 , ... )
[partitioned by (分區(qū)字段名 分區(qū)字段類型)] # 分區(qū)表固定格式
[clustered by (分桶字段名) ?into 桶個數(shù) buckets] ?# 分桶表固定格式 注意: 可以排序[sorted by (排序字段名 asc|desc)]
[row format delimited fields terminated by '字段分隔符'] # 自定義字段分隔符固定格式
[stored as textfile] ?# 默認(rèn)即可
[location 'hdfs://node1.itcast.cn:8020/user/hive/warehouse/庫名.db/表名'] # 默認(rèn)即可
; # 注意: 最后一定加分號結(jié)尾

注意: 關(guān)鍵字順序是從上到下從左到右,否則報(bào)錯

數(shù)據(jù)類型

?基本數(shù)據(jù)類型: ?整數(shù): int ?小數(shù): float double ?字符串: string varchar(長度) ?日期: date timestamp

復(fù)雜數(shù)據(jù)類型: ?集合: array ?映射: map ? 結(jié)構(gòu)體: struct ?聯(lián)合體: union?

表分類?

?Hive中可以創(chuàng)建的表有好幾種類型, 分別是:
內(nèi)部表(管理表): MANAGED_TABLE
? ? 分區(qū)表
? ? 分桶表
外部表(非管理表): EXTERNAL_TABLE
? ? 分區(qū)表
? ? 分桶表
? ??
default默認(rèn)庫存儲路徑: hdfs://node1.itcast.cn:8020/user/hive/warehouse ??
自定義庫在HDFS的默認(rèn)存儲路徑: hdfs://node1.itcast.cn:8020/user/hive/warehouse/庫名.db
自定義表在HDFS的默認(rèn)存儲路徑: hdfs://node1.itcast.cn:8020/user/hive/warehouse/庫名.db/表名
業(yè)務(wù)數(shù)據(jù)文件在HDFS的默認(rèn)存儲路徑: hdfs://node1.itcast.cn:8020/user/hive/warehouse/庫名.db/表名/業(yè)務(wù)數(shù)據(jù)文件

內(nèi)部表和外部表區(qū)別?
內(nèi)部表: 未被external關(guān)鍵字修飾的即是內(nèi)部表, 即普通表。 內(nèi)部表又稱管理表,還可以叫托管表
?? ?刪除內(nèi)部表:直接刪除元數(shù)據(jù)(metadata)和存儲數(shù)據(jù)本身
外部表: 被external關(guān)鍵字修飾的即是外部表, 即關(guān)聯(lián)表。 還可以叫非管理表或非托管表
?? ?刪除外部表:僅僅是刪除元數(shù)據(jù)(metadata),不會刪除存儲數(shù)據(jù)本身

-- 內(nèi)部表(又叫管理表或者托管表)
create table stu1(id int,name string
);
-- 外部表(又叫非管理表,非托管表)
create external table stu2(id int,name string
);
-- 查看表結(jié)構(gòu)
desc stu1;
desc stu2;
-- 查看表格式化信息
desc formatted stu1; -- 內(nèi)部表類型: managed_table
desc formatted stu2; -- 外部表類型: external_table-- 演示內(nèi)外部表的重點(diǎn)區(qū)別
-- 刪除內(nèi)部表(管理表/托管表),會刪除表相關(guān)的所有數(shù)據(jù)
insert into stu1 values(1,'張三');
drop table stu1;
-- 刪除外部表,只刪除了元數(shù)據(jù),hdfs中業(yè)務(wù)數(shù)據(jù)保留
insert into stu2 values(1,'張三');
drop table stu2;
-- 再次建表后,可以使用location重新關(guān)聯(lián)原來hdfs保留的業(yè)務(wù)數(shù)據(jù)
create external table stu22(id int,name string
)location '/user/hive/warehouse/hive1.db/stu2';
-- 驗(yàn)證數(shù)據(jù)
select * from stu22 limit 10;

http://www.risenshineclean.com/news/29567.html

相關(guān)文章:

  • wordpress 已登錄用戶登錄seo是指搜索引擎優(yōu)化
  • 甘肅最新消息今天seo優(yōu)化顧問
  • 設(shè)計(jì)案例分享網(wǎng)站搜索引擎優(yōu)化包括哪些內(nèi)容
  • h5移動端網(wǎng)站開發(fā)最有效的宣傳方式
  • 新開傳奇網(wǎng)站999新服網(wǎng)百度正版下載恢復(fù)百度
  • 美國做ppt的網(wǎng)站百度競價(jià)排名榜
  • 貴州專業(yè)網(wǎng)站建設(shè)公司哪家好湖南seo優(yōu)化哪家好
  • 新疆建網(wǎng)站程序站外推廣
  • 正規(guī)網(wǎng)店代運(yùn)營公司seo每日
  • 豆瓣網(wǎng)站模板滕州今日頭條新聞
  • 自己的電腦做網(wǎng)站服務(wù)器seo的五個步驟
  • 找人做網(wǎng)站協(xié)議網(wǎng)站在線優(yōu)化檢測
  • 專業(yè)網(wǎng)站優(yōu)化外包百度seo推廣計(jì)劃類型包括
  • 怎么學(xué)做淘寶電商網(wǎng)站嗎關(guān)鍵詞搜索排行榜
  • html5 公眾號 網(wǎng)站開發(fā)百度seo優(yōu)化價(jià)格
  • 專業(yè)做根雕的網(wǎng)站廣州百度搜索優(yōu)化
  • 備案的網(wǎng)站名稱寫什么深圳整站全網(wǎng)推廣
  • 大眾點(diǎn)評怎么做團(tuán)購網(wǎng)站廣告軟文外鏈平臺
  • 做網(wǎng)站需要數(shù)據(jù)儲存么深圳網(wǎng)站設(shè)計(jì)三把火
  • 做網(wǎng)站十大公司哪家好短視頻推廣渠道
  • 92素材網(wǎng)安卓優(yōu)化大師官網(wǎng)
  • 手機(jī)微信網(wǎng)站怎么做的好深圳網(wǎng)站設(shè)計(jì)十年樂云seo
  • 最好的網(wǎng)站制作公司百度快照是怎么做上去的
  • 自己如何開自己的商城黑帽seo培訓(xùn)網(wǎng)
  • 杭州建立網(wǎng)站長沙企業(yè)網(wǎng)站建設(shè)報(bào)價(jià)
  • 動漫制作專業(yè)的高職實(shí)訓(xùn)室seo引擎搜索網(wǎng)站關(guān)鍵詞
  • 濟(jì)南外貿(mào)網(wǎng)站建設(shè)公司排名seo基礎(chǔ)入門免費(fèi)教程
  • 做網(wǎng)站和做軟件哪個賺錢丈哥seo博客工具
  • 網(wǎng)站投入費(fèi)用百度知道答題賺錢
  • 四川瑞通工程建設(shè)有限公司網(wǎng)站東莞谷歌推廣