電商大資料學習筆記:實戰

來源:互聯網
上載者:User

標籤:

1、YARN:將資源管理和作業調度/監控分成兩個獨立的進程。

   包含兩個組件:ResourceManager和ApplicationMaster

2、YARN的特性:

   1)可擴充性;2)高可用性(HA);3)相容性(1.0版本的作業也可以執行);4)提高叢集利用率;

5)支援MapReduce編程範式。

3、Hadoop的進程:

   1)NameNode HDFS的守護進程;

   2)Secondary NameNode 監控HDFS狀態的輔助背景程式,備用NameNode;

   3)DataNode 負責把HDFS的資料區塊寫到本地檔案系統,資料區塊大小預設64MB;

   4)ResourceManager 是一個中心服務,它負責調度、啟動每一個Job與資源分派;

   5)NodeManager 管理YARN叢集的每一個節點,它負責Container狀態的維護(CPU、記憶體、硬碟、網路),並向ResourceManager保持心跳;

   6)ApplicationMaster 負責一個Job生命週期內的所有工作。

4、HDFS常用命令(略)

5、Hadoop常用配置參數詳解(略)

6、Hive的三個主要介面:命令列Cli、用戶端Client和Web介面WUI

   1)最常用CLI,啟動的時候會同時啟動一個Hive服務,將寫好的指令碼放到Cli中執行。

   2)Clinet是Hive的用戶端,使用者串連至HiveServer。

   3)WUI是通過瀏覽器訪問Hive的Web工具。

7、Hive中繼資料一般儲存在資料庫中,如MySQL(多使用者)或Derby嵌入式資料庫(單使用者)中。

8、Hive的資料是儲存在HDFS中的(包括外部表格和內部表),大部分查詢由MapReduce完成。

9、Hive的常用進程和服務:使用hive –service help命令可以看到Hive提供的服務。

   cli:命令列介面。

   hiveserver:用戶端介面。

   hwi:Hive的Web介面。

   jar:與Hadoop jar等價的Hive介面。

   metastore:中繼資料提供的服務。

10、Metastore的三種串連方式:單使用者(Derby)、多使用者(MySQL)和遠端連線(如使用Thrift)

11、Hive語言,不支援Insert和Update,因為資料倉儲的內容是讀多寫少,所有的資料要在載入時確定好,他的資料都是儲存在HDFS中。

12、Hive沒有專門定義的資料格式,格式由使用者指定,使用者在定義資料格式需要指定三個屬性。

1)資料行分隔符號(通常用空格、“\t”)

2)行分隔字元(“\n”)

3)讀取檔案資料的方式(預設有三種:TextFile、SequenceFile、RCFile)

13、Hive不會對資料進行任何處理,也不會對資料進行掃描,因此不會建立索引。

14、Hive的查詢是通過Hadoop來實現的,不是通過自己的執行引擎。

15、Hive的執行延遲較高,通常都是離線執行的,但是處理的資料量大。

16、Hive的擴充性非常好,可以擴充到上千台Hadoop。

17、Hive --database temp 直接進入temp資料庫。

18、set -v / reset 設定或重設參數變數。

    如:set mapred.reduce.tasks=10;

19、!執行外部shell命令。如:! ls  --列出目前的目錄下的檔案。

20、dfs 執行HDFS命令。

    如:dfs -mkdir /user/Hadoop/warehouse;

21、add file / list file / delete file管理分步緩衝區資源,這些資源在所有的機器上都可以使用。

22、Hive -S 靜默不輸出。

23、插入資料:insert overwrite table HUserInfo select * from old_userinfo   --從另一張表匯入資料

24、hive -e ‘set;’ | grep mapred.reduce.tasks;  //-e表示在外部直接執行後面的命令。    

25、hive -d sitename=www.baidu.com  //定義一個變數

26、跨庫查詢:select * from hive.Huserinfo;

27、假如外部有一個sql指令碼get_order_sum.sql

    hive -f /home/hadoopuser/scripts/get_order_sum.sql;    //可以直接運行這個指令碼

    hive -v -f /home/hadoopuser/scripts/get_order_sum.sql;  //可以把指令碼裡的sql也顯示出來

    hive -S -f /home/hadoopuser/scripts/get_order_sum.sql > test.txt;  //靜默執行 並把結果輸出到txt中

28、Hive常用配置參數(略)在檔案.hiverc中配置

29、Hive清資料,Hive不支援Delete

使用truncate table tablename;

清一個分區的資料:truncate table tablename partition dt=’2015-10-6’;

30、刪除的資料到了資源回收筒:.trash

31、建立索引,和SQL一樣。

    CREATE INDEX index_name ON TABLE tablename(col_name)AS index_type;

32、角色管理,對許可權控制最好使用角色來控制。(略)

33、DESC命令,查看資料庫或表的一些基本資料。

34、Hive四種匯入資料的方式:

1)load data local inpath ‘1234.txt‘ into table mytable;

2)load data inpath ‘/home/hadoopuser/1234.txt‘ into table mytable;

3)insert overwrite table mytable

    > PARTITION (age)

    > select id, name, tel, age

    > from oldtable;

4)create table mytable

    > as

    > select id, name, tel

    > from oldtable;

35、建立Hive表的時候如何建立動態分區?

36、Hive資料查詢支援正則,當你不知道列名的時候可以用。

    SELECT ‘正則’ FROM mytable;

39、資料排序

order by全域排序

sort by只在一個reducer中排序

distribyte by將指定的內容分到同一個reducer中

cluster by = distribyte by + sort by

40、實用的寫法

    SELECT * FROM table1 t1,table2 t2,table3 t3 WHERE t1.id=t2.id AND t2.id=t3.id;

41、semi-join比一般的inner join更為高效。

42、CTE

WITH q1 AS (SELECT * FROM src WHERE key>50)

下面就可以直接使用q1這個暫存資料表。

43、什麼是UDF?UDAF?UDTF?

    User Defined Function(使用者自訂函數)

44、什麼是分析函數?

45、Hive儲存的三種格式:

TextFile:不壓縮,磁碟開銷大;

SequenceFile:使用方便、可分割、可壓縮、並發讀取,但是佔用空間比較大;

RCFile:壓縮,但是載入時消耗大。

46、HiveSQL的join實現過程:

47、Hive的執行生命週期

48、舉例:訂單連接埠模組

49、HiveSQL實戰

    將下面指令碼建立成.sh檔案,直接調用即可。

50、HiveSQL實戰2

 

電商大資料學習筆記:實戰

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.