原创 TreeSet、TreeMap、Collections.sort()的區別,原理

1 使用上看 TreeSet要求,每一個元素要實現Comparable接口。 TreeMap要求鍵實現Comparable接口。 Collections.sort()有兩種重載方式: (1)元素實現Comparable接口。

原创 HashMap、HashTable、ConcurrentHashMap的底層原理

1 HashMap的原理 HashMap是基於鏈地址法實現的一個散列表,jdk7使用數組、鏈表,jdk8使用數組、鏈表和紅黑樹。以下將HashMap的原理分爲四部分講解。 初始容量。數組的初始容量爲16。擴充容量每次擴充爲2的

原创 工作中使用HQL踩得坑

1 distinct 語句:select distinct uid,gender … 錯誤理解:distinct只會將緊跟在distinct後的第一個字段去重。 正確理解:distinct會按照後面的所有字段,去重。 select

原创 tableau連接MySQL

公司用的MySQL5.1,較老的版本了。 自己的mac版本是10.14.6。 下載了驅動器mysql-connector-odbc-5.3.8-macos10.12-x86-64bit.dmg,該版本下載地址:mysql-conn

原创 大文件 多路歸併 排序

1 題目 這一種題目的描述,大概有以後兩種: 題目1:一個大文件在一臺服務器上存不下,需要存放在多臺服務器上,將這個大文件的內容進行排序。 題目2:一個大文件100G,存儲在磁盤上,現在需要對這個文件的內容進行排序,而內存裝不下

原创 高級HQL

高級HQL1. explode與posexplode2. lateral view3. ntile()4. null first與null last5. collect_list()與collect_set() 網絡上有大量好文章

原创 無序數組 排序後 最大間隔

本文現轉載他人文章,後續會進行詳細講解。 1 無序數組 排序後 最大間隔 原題:給你n個任意整數,求排序後相鄰兩個數之間的最大差值,這裏n可能有10^5,整數爲任意32位整型。要求求解算法的時間複雜度爲O(n)。 1.1 思路:不

原创 Hive去重:distinct與group by

以下面兩個案例介紹distinct、group by的底層原理。 【案例 1】去重計數案例 select count(1) from( select age from student group by age )b 【案例

原创 Flink基礎概念

1 Event Time / Processing Time / Ingestion Time 事件時間、處理時間、攝入時間 Event Time / Processing Time / Ingestion Time

原创 Hive常用命令之MSCK REPAIR TABLE命令概述

對於MSCK REPAIR TABLE命令,小編在工作中初見時,只有簡單的理解——“刷新分區”。細究其原理便不得而知了。現在來將學習的內容記錄一下。 首先,Hive能檢測到的分區信息,存儲在哪裏?怎麼新建分區纔會存儲在這個可(被H

原创 HQL底層原理及優化:(一)使用group by代替distinct,以防數據傾斜。

本文轉載自hive性能優化使用group by替代distinct原理-weixin_42412645,感謝作者的知識分享,文章已講解得非常清晰,筆者不再贅述。 日常業務統計中經常使用除重(distinct)操作,但是當出現某一組

原创 HQL底層原理及優化:1 干預SQL的運行方式 之1.2通過Hint對計算引擎執行過程進行干預

Hint,意爲提示。 1 Hint簡介 本小節參考自文章Oracle hint詳解中的一部分,感謝原作者的分享。 1.1 爲什麼引入Hint? Hint是Oracle數據庫中很有特色的一個功能,是很多DBA優化中經常採用的一個手段

原创 Sqoop學習手冊

1 簡介及原理 1.1簡介 Sqoop是Apache旗下的一款“hadoop和關係型數據庫服務器之間傳送數據”的工具。 導入數據:MySQL、Oracle導入數據到hadoop的hdfs、hive、HBASE等數據存儲系統。 導出

原创 HQL不常用語法

1 刪除Hive表中一個或多個分區 alter table drop partition(ymd=20200415) alter table drop partition(ymd>=20200415) alter table dr

原创 Hive order by、sort by、partition by、

1 Order by 功能:將查詢結果集中的所有數據,進行全局排序。 底層原理:將查詢結果中的所有數據,都放在一個reducer中,進行全局排序。 特點:因爲只有一個reducer進行排序,當數據量很大時會非常慢。 2 Sort