原创 Hive學習筆記(二)—Hive數據類型和存儲格式

Hive 支持關係型數據中大多數基本數據類型,除了額外的三個複雜的數據類型。 一、數據類型 array 類比java中的array 有序的的同類型的集合 create table test( id int, na

原创 Hive學習筆記(四)—Hive分桶表

一、分桶簡介 桶是通過對指定列進行哈希計算來實現的,通過哈希值將一個列名下的數據切分爲一組桶,並使每個桶對應於該列名下的一個存儲文件 將表中記錄按分桶鍵的哈希值分散進多個文件中,這些小文件稱爲桶 對於每一個表或者分區,Hive

原创 Hive學習筆記(五)—Hive連接優化

1. Join 的基本原理 大家都知道,Hive 會將所有的 SQL 查詢轉化爲 Map/Reduce 作業運行於 Hadoop 集羣之上。在這裏簡要介紹 Hive 將 Join 轉化爲 Map/Reduce 的基本原理。 假定有

原创 Hive學習筆記(三)—Hive分區表

一、分區簡介 爲了對錶進行合理的管理以及提高查詢效率,Hive可以將表組織成“分區”。 分區是表的部分列的集合,可以爲頻繁使用的數據建立分區,這樣查找分區中的數據時就不需要掃描全表,這對於提高查找效率很有幫助 分區是一種根據“分區

原创 線程池的異常處理

一、Java線程異常機制 在java多線程程序中,所有線程都不允許拋出未捕獲的checked exception,也就是說各個線程需要自己將checked exception處理掉,run方法上面進行了約束,不可以拋出異常(thr

原创 Elasticsearch學習筆記(七)—Elasticsearch分析器與映射

一、確切值(Exact values) vs 全文文本(Full text) Elasticsearch中的數據可以大致分爲兩種類型 確切值,確切值是確定的,正如它的名字一樣。比如一個date或用戶ID,需要精確匹配,對於201

原创 Elasticsearch學習筆記(八)—Elasticsearch選主流程

一、Elasticsearch中Master的作用 Elasticsearch的Master最重要的作用就是維護集羣狀態 集羣狀態中包括以下信息: 集羣層面的設置 集羣內有哪些節點 各索引的設置,映射,分析器和別名 索引內各分片

原创 Elasticsearch學習筆記(六)—Elasticsearch文檔及其CRUD操作

一、文檔 最頂層結構或者根對象(root object)序列化成的JSON數據(以唯一ID標識並存儲於Elasticsearch中),可以認爲對象(object)和文檔(document)是等價相通的。 文檔元數據 節點 說

原创 MySQL學習筆記(二)—MySQL事務及鎖詳解

一、事務 數組庫的一組操作,要麼全部成功,要麼全部失敗 舉例:銀行轉賬 A賬戶向B賬戶轉100 A賬戶餘額扣去100 B賬戶餘額增加100 上述兩個操作要麼全部成功,要麼全部失敗,部分成功或失敗,數據就錯亂了 1. 事務的四大

原创 MySQL大數據量分頁limit優化

一、limit用法 SELECT * FROM t LIMIT 10,10; 第一個參數指定第一個返回記錄行的偏移量 第二個參數指定返回記錄行的最大數目 如果只給定一個參數:它表示返回最大的記錄行數目 第二個參數爲 -1 表

原创 Kafka具體應用場景介紹

網站活動跟蹤 成功的網站運營都會非常關注站點的用戶行爲並進行分析。通過消息隊列 for Apache Kafka,您可以實時收集網站活動數據(包括用戶瀏覽頁面、搜索及其他行爲等),並通過“發佈/訂閱”模型實現: 根據不同的業務數

原创 MySQL行轉列案例分析

建表: 成績表:表名score,列名:學號、課程號、成績 CREATE TABLE `score` ( `s_id` varchar(20) NOT NULL, `c_id` varchar(20) NOT NULL,

原创 MySQL連接(join)原理

一、MySQL JOIN分類 INNER JOIN,內連接,返回左右表互相匹配的所有行 LEFT JOIN,左外連接,返回左表的所有行,若某些行在右表裏沒有相對應的匹配行,則將右表的列在新表中置爲NULL RIGHT JOIN,

原创 NIO組件Buffer,Channel和Selector

流是用來讀寫數據的。所有 I/O 都被視爲單個的字節的移動,通過一個稱爲 Stream 的對象一次移動一個字節。流 I/O 用於與外部世界接觸。它也在內部使用,用於將對象轉換爲字節,然後再轉換回對象。 流與與 NIO 最重要的區別

原创 數據庫分庫分表思路

一個閒暇的週末下午讀到這篇分庫分表文章,獲益匪淺,轉載之 一. 數據切分 關係型數據庫本身比較容易成爲系統瓶頸,單機存儲容量、連接數、處理能力都有限。當單表的數據量達到1000W或100G以後,由於查詢維度較多,即使添加從庫、優化