-
支持JDBC的關(guān)系型數(shù)據(jù)庫(kù)基本都可以使用Sqoop導(dǎo)入數(shù)據(jù)
查看全部 -
Presto是Facebook為了解決Hive問(wèn)題所開發(fā)的
PB級(jí)數(shù)據(jù)快速交互式查詢
查看全部 -
常用數(shù)據(jù)采集框架:DataX Gonlbblin Flume
查看全部 -
數(shù)據(jù)采集系統(tǒng)的基本需求
查看全部 -
筆記測(cè)試二
查看全部 -
筆記測(cè)試111
查看全部 -
presto,impala
查看全部 -
Hive: 基于hadoop的數(shù)據(jù)倉(cāng)庫(kù), 提供類sql語(yǔ)法
Hive將數(shù)據(jù)映射成數(shù)據(jù)庫(kù)和一張張的表,庫(kù)和表的元數(shù)據(jù)信息一般存在外部關(guān)系型數(shù)據(jù)庫(kù)。 以MR計(jì)算引擎,HDFS存儲(chǔ)系統(tǒng),提供超大數(shù)據(jù)集計(jì)算擴(kuò)展能力。Hive的庫(kù)和表是對(duì)HDFS上數(shù)據(jù)的映射。
Hive語(yǔ)句執(zhí)行過(guò)程將Hive sql轉(zhuǎn)換為MapReduce任務(wù)執(zhí)行
數(shù)據(jù)倉(cāng)庫(kù):數(shù)據(jù)源的數(shù)據(jù)經(jīng)過(guò)ETL處理后,按照一定的主題集成起來(lái)提供決策支持和聯(lián)機(jī)分析應(yīng)用的結(jié)構(gòu)化數(shù)據(jù)環(huán)境。
ETL: Extract, Transform, Load
Sqoop輸入? Presto查詢輸出
聯(lián)機(jī)事務(wù)處理OLTP是傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)
聯(lián)機(jī)分析處理OLAP是數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用
查看全部 -
有動(dòng)態(tài)添加catalog代碼嗎?
查看全部 -
列式存儲(chǔ)的優(yōu)勢(shì)和劣勢(shì):
優(yōu)勢(shì):當(dāng)我們查詢語(yǔ)句只涉及部分列的時(shí)候,只需要掃描相關(guān)列即可,不需要掃描整個(gè)的數(shù)據(jù)文件,同一列數(shù)據(jù)格式是相同的,彼此相關(guān)性更大,對(duì)于列數(shù)據(jù)的壓縮效率更大,可以針對(duì)每一列的數(shù)據(jù)選擇不同的數(shù)據(jù)壓縮方式。
劣勢(shì):對(duì)一條數(shù)據(jù)寫入更新時(shí)需要更改多個(gè)列。
數(shù)據(jù)倉(cāng)庫(kù)面臨的主要需求是查詢分析,對(duì)于更新不是特別頻繁,所以數(shù)據(jù)倉(cāng)庫(kù)是適合使用列式存儲(chǔ)的,同時(shí)OLAP一般是構(gòu)建在分布式存儲(chǔ)上的,受分布式文件存儲(chǔ)特性的影響,需要快速讀取,就要按塊分片進(jìn)行讀取,修改寫入都是追加寫入,而非隨機(jī)讀寫。
查看全部 -
基于Hadoop開源數(shù)據(jù)框架工具Hive,本質(zhì)上是將HDFS上的數(shù)據(jù)映射成數(shù)據(jù)庫(kù)、數(shù)據(jù)表等元數(shù)據(jù),然后再對(duì)這些文件進(jìn)行檢索查詢。
查看全部 -
acid:事務(wù)
事務(wù)具有4個(gè)特征,分別是原子性、一致性、隔離性和持久性,簡(jiǎn)稱事務(wù)的ACID特性;
一、原子性(atomicity)
一個(gè)事務(wù)要么全部提交成功,要么全部失敗回滾,不能只執(zhí)行其中的一部分操作,這就是事務(wù)的原子性
二、一致性(consistency)
事務(wù)的執(zhí)行不能破壞數(shù)據(jù)庫(kù)數(shù)據(jù)的完整性和一致性,一個(gè)事務(wù)在執(zhí)行之前和執(zhí)行之后,數(shù)據(jù)庫(kù)都必須處于一致性狀態(tài)。
如果數(shù)據(jù)庫(kù)系統(tǒng)在運(yùn)行過(guò)程中發(fā)生故障,有些事務(wù)尚未完成就被迫中斷,這些未完成的事務(wù)對(duì)數(shù)據(jù)庫(kù)所作的修改有一部分已寫入物理數(shù)據(jù)庫(kù),這是數(shù)據(jù)庫(kù)就處于一種不正確的狀態(tài),也就是不一致的狀態(tài)
三、隔離性(isolation)
事務(wù)的隔離性是指在并發(fā)環(huán)境中,并發(fā)的事務(wù)時(shí)相互隔離的,一個(gè)事務(wù)的執(zhí)行不能不被其他事務(wù)干擾。不同的事務(wù)并發(fā)操作相同的數(shù)據(jù)時(shí),每個(gè)事務(wù)都有各自完成的數(shù)據(jù)空間,即一個(gè)事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對(duì)其他并發(fā)事務(wù)時(shí)隔離的,并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能相互干擾。
在標(biāo)準(zhǔn)SQL規(guī)范中,定義了4個(gè)事務(wù)隔離級(jí)別,不同的隔離級(jí)別對(duì)事務(wù)的處理不同,分別是:未授權(quán)讀取,授權(quán)讀取,可重復(fù)讀取和串行化
1、讀未提交(Read Uncommited),該隔離級(jí)別允許臟讀取,其隔離級(jí)別最低;比如事務(wù)A和事務(wù)B同時(shí)進(jìn)行,事務(wù)A在整個(gè)執(zhí)行階段,會(huì)將某數(shù)據(jù)的值從1開始一直加到10,然后進(jìn)行事務(wù)提交,此時(shí),事務(wù)B能夠看到這個(gè)數(shù)據(jù)項(xiàng)在事務(wù)A操作過(guò)程中的所有中間值(如1變成2,2變成3等),而對(duì)這一系列的中間值的讀取就是未授權(quán)讀取
2、授權(quán)讀取也稱為已提交讀(Read Commited),授權(quán)讀取只允許獲取已經(jīng)提交的數(shù)據(jù)。比如事務(wù)A和事務(wù)B同時(shí)進(jìn)行,事務(wù)A進(jìn)行+1操作,此時(shí),事務(wù)B無(wú)法看到這個(gè)數(shù)據(jù)項(xiàng)在事務(wù)A操作過(guò)程中的所有中間值,只能看到最終的10。另外,如果說(shuō)有一個(gè)事務(wù)C,和事務(wù)A進(jìn)行非常類似的操作,只是事務(wù)C是將數(shù)據(jù)項(xiàng)從10加到20,此時(shí)事務(wù)B也同樣可以讀取到20,即授權(quán)讀取允許不可重復(fù)讀取。
3、可重復(fù)讀(Repeatable Read)
就是保證在事務(wù)處理過(guò)程中,多次讀取同一個(gè)數(shù)據(jù)時(shí),其值都和事務(wù)開始時(shí)刻是一致的,因此該事務(wù)級(jí)別禁止不可重復(fù)讀取和臟讀取,但是有可能出現(xiàn)幻影數(shù)據(jù)。所謂幻影數(shù)據(jù),就是指同樣的事務(wù)操作,在前后兩個(gè)時(shí)間段內(nèi)執(zhí)行對(duì)同一個(gè)數(shù)據(jù)項(xiàng)的讀取,可能出現(xiàn)不一致的結(jié)果。在上面的例子中,可重復(fù)讀取隔離級(jí)別能夠保證事務(wù)B在第一次事務(wù)操作過(guò)程中,始終對(duì)數(shù)據(jù)項(xiàng)讀取到1,但是在下一次事務(wù)操作中,即使事務(wù)B(注意,事務(wù)名字雖然相同,但是指的是另一個(gè)事務(wù)操作)采用同樣的查詢方式,就可能讀取到10或20;
4、串行化
是最嚴(yán)格的事務(wù)隔離級(jí)別,它要求所有事務(wù)被串行執(zhí)行,即事務(wù)只能一個(gè)接一個(gè)的進(jìn)行處理,不能并發(fā)執(zhí)行。
四、持久性(durability)
一旦事務(wù)提交,那么它對(duì)數(shù)據(jù)庫(kù)中的對(duì)應(yīng)數(shù)據(jù)的狀態(tài)的變更就會(huì)永久保存到數(shù)據(jù)庫(kù)中。--即使發(fā)生系統(tǒng)崩潰或機(jī)器宕機(jī)等故障,只要數(shù)據(jù)庫(kù)能夠重新啟動(dòng),那么一定能夠?qū)⑵浠謴?fù)到事務(wù)成功結(jié)束的狀態(tài)
查看全部 -
create?table?table1?( ??id?int, ??name?string, ??interest?array<string>, ??score?map<string,string> ) partitioned?by?(year?int) row?format?delimited?fields?terminated?by?',' collection?items?terminated?by?'-' map?keys?terminated?by?':' stored?as?textfile; show?partitions?table1;?????????????????????????????????????????--展示分區(qū); alter?table?table1?add?partition?(year?=?2019)?location?'/test'?--添加分區(qū)
查看全部 -
1、內(nèi)部表:導(dǎo)入數(shù)據(jù)時(shí),將數(shù)據(jù)移動(dòng)到hive指定的目錄文件中,刪除表時(shí),數(shù)據(jù)也會(huì)刪除;
2、外部表:建表時(shí)添加關(guān)鍵字external,并指定位置,刪除表時(shí)不會(huì)刪除源數(shù)據(jù)。
查看全部 -
一、數(shù)據(jù)
1,tom,music-running-code,c++:98.0-java:76.0-php:65.0 2,jerry,music-code,c++:93.0-java:70.0-php:55.0 3,john,code,go:87.0-python:93.0
二、建表語(yǔ)句
CREATE?TABLE?table1?( ??id?int, ??name?string, ??interest?array<string>, ??score?map<string,string> ?) row?format?delimited?fields?terminated?by?','??--列分割 collection?items?terminated?by?'-'??????????????????--array分割 map?keys?terminated?by?':'???????????????????????????--map分割 stored?AS?textfile;???????????????????????????????????????--保存
三、導(dǎo)入數(shù)據(jù)
load?data?local?inpath?'/opt/data/test'?overwrite?into?table?table1;
查看全部
舉報(bào)