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