国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

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

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

免費(fèi)空間網(wǎng)站怎么做出來(lái)的,上海關(guān)鍵詞自動(dòng)排名,動(dòng)漫網(wǎng)站開(kāi)發(fā)需求分析,鵬達(dá)建設(shè)集團(tuán)有限公司網(wǎng)站一.SQL,Hive和MapReduce的關(guān)系 用戶在hive上編寫sql語(yǔ)句,hive把sql語(yǔ)句轉(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語(yǔ)句,hive把sql語(yǔ)句轉(zhuǎn)化為MapReduce程序去執(zhí)行

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

用戶接口:

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

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

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

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

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

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

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

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

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

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

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

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

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

?內(nèi)嵌模式:

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

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

本地模式:

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

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

遠(yuǎn)程模式:

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

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

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

啟動(dòng)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ū)動(dòng)jar包?

?datagrip連接MySQL

六.數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)庫(kù)

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

數(shù)據(jù)庫(kù)與數(shù)據(jù)倉(cāng)庫(kù)的區(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ī)分析處理,一般針對(duì)某些主題的歷史數(shù)據(jù)進(jìn)行分析 主要面向分析,支持管理決策。

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

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

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

?

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

數(shù)據(jù)倉(cāng)庫(kù)層(DW):也稱為細(xì)節(jié)層,DW層的數(shù)據(jù)應(yīng)該是一致的、準(zhǔn)確的、干凈的數(shù)據(jù),即對(duì)源系統(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ù)倉(cāng)庫(kù)從各數(shù)據(jù)源獲取數(shù)據(jù)及在數(shù)據(jù)倉(cāng)庫(kù)內(nèi)的數(shù)據(jù)轉(zhuǎn)換和流動(dòng)都可以認(rèn)為是ETL(抽取Extract, 轉(zhuǎn)化Transform , 裝載Load)的過(guò)程。

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

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

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

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

基本操作[掌握]

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

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

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

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

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

其他操作[了解]

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

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

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

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

八.Hive表概述

建表語(yǔ)法

create [external] table [if not exists] 表名(字段名 字段類型 , 字段名 字段類型 , ... )
[partitioned by (分區(qū)字段名 分區(qū)字段類型)] # 分區(qū)表固定格式
[clustered by (分桶字段名) ?into 桶個(gè)數(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/庫(kù)名.db/表名'] # 默認(rèn)即可
; # 注意: 最后一定加分號(hào)結(jié)尾

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

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

?基本數(shù)據(jù)類型: ?整數(shù): int ?小數(shù): float double ?字符串: string varchar(長(zhǎng)度) ?日期: 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)庫(kù)存儲(chǔ)路徑: hdfs://node1.itcast.cn:8020/user/hive/warehouse ??
自定義庫(kù)在HDFS的默認(rèn)存儲(chǔ)路徑: hdfs://node1.itcast.cn:8020/user/hive/warehouse/庫(kù)名.db
自定義表在HDFS的默認(rèn)存儲(chǔ)路徑: hdfs://node1.itcast.cn:8020/user/hive/warehouse/庫(kù)名.db/表名
業(yè)務(wù)數(shù)據(jù)文件在HDFS的默認(rèn)存儲(chǔ)路徑: hdfs://node1.itcast.cn:8020/user/hive/warehouse/庫(kù)名.db/表名/業(yè)務(wù)數(shù)據(jù)文件

內(nèi)部表和外部表區(qū)別?
內(nèi)部表: 未被external關(guān)鍵字修飾的即是內(nèi)部表, 即普通表。 內(nèi)部表又稱管理表,還可以叫托管表
?? ?刪除內(nèi)部表:直接刪除元數(shù)據(jù)(metadata)和存儲(chǔ)數(shù)據(jù)本身
外部表: 被external關(guān)鍵字修飾的即是外部表, 即關(guān)聯(lián)表。 還可以叫非管理表或非托管表
?? ?刪除外部表:僅僅是刪除元數(shù)據(jù)(metadata),不會(huì)刪除存儲(chǔ)數(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)部表(管理表/托管表),會(huì)刪除表相關(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)原來(lái)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://aloenet.com.cn/news/29567.html

相關(guān)文章:

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