原创 存儲底層數據結構對比 LSM樹由來、設計思想以及應用到HBase的索引

該文章對比了常用的一些存儲底層所使用的數據結構。 1.B+樹 MySQL,MongoDB的索引使用的就是B+樹 B+樹在多讀少寫(相對而言)的情境下比較有優勢。 B+樹的主要優點: 1.結構比較扁平,高度低(一般不超過4層),隨機尋道次數

原创 zigzag編碼原理

在Thrift,Protobuf和avro序列化框架中,不約而同使用了zigzag編碼來對數字進行編碼,從而達到減少數據傳輸量的目的。 zigzag算法的核心主要是去除二進制數字中的前導0,因爲在絕大多數情況下,我們使用到的整數,往往是比較

原创 kafka學習筆記——配置

參考: https://www.orchome.com/537 https://www.cnblogs.com/wangzhuxing/p/10111831.html#_label0_8 http://blog.51yip.com/had

原创 Hbase學習筆記——客戶端API

put方法 1.單行put   2.客戶端的寫緩衝區和Put列表 一個put操作都是一個RPC操作,只適合小數據量的操作,HBase的API配置了客戶端的寫緩衝區,緩衝區負責收集put寶座,然後調用RPC操作一次性將put送往服務器。默認

原创 Flink學習筆記——讀寫Hbase HBase讀寫的幾種方式(三)flink篇

1.如果是csa(Cloudera Streaming Analytics)版本的Hbase,可以參考Cloudera官方例子,通過引入flink-hbase來實現 <dependency> <groupId>org.apache

原创 Hive學習筆記——metastore listener

除了使用hive hook來記錄hive上用戶的操作之外,還可以使用hive metastore listener來進行記錄,參考: https://towardsdatascience.com/apache-hive-hooks-and

原创 Spark學習筆記——讀寫ScyllaDB

Scylla兼容cassandra API,所以可以使用spark讀寫cassandra的方法來進行讀寫 1.查看scyllaDB對應的cassandra版本 cqlsh:my_db> SHOW VERSION [cqlsh 5.0.1

原创 DataGrip2017.1連接Hive

在使用低版本的DataGrip的時候,還沒有hive的data source,需要自行添加數據源 1.下載hive driver,如果你使用的EMR的大數據集羣的話,下載地址 https://docs.aws.amazon.com/emr

原创 Kafka學習筆記——Consumer API

參考kafka官方文檔,版本1.0.x http://kafka.apache.org/10/documentation.html#consumerapi 依賴,選擇 Cloudera Rel 中的 1.0.1-kafka-3.1.0

原创 ElasticSearch學習筆記——插件開發

參考 https://dzone.com/articles/elasticsearch5-how-to-build-a-plugin-and-add-a-lis https://github.com/chrisshayan/es-chan

原创 Hbase學習筆記——rowkey

案例 Reliable and Scalable Data Ingestion at Airbnb https://www.slideshare.net/HadoopSummit/reliable-and-scalable-data-in

原创 Hive學習筆記——fetch Hive筆記之Fetch Task

在美團點評的文章中,介紹了Hive SQL轉化爲MapReduce的過程 1、Antlr定義SQL的語法規則,完成SQL詞法,語法解析,將SQL轉化爲抽象語法樹AST Tree 2、遍歷AST Tree,抽象出查詢的基本組成單元Query

原创 ElasticSearch學習筆記——ik分詞添加詞庫 Elasticsearch學習筆記——分詞

前置條件是安裝ik分詞,請參考 Elasticsearch學習筆記——分詞 1.在ik分詞的config下添加詞庫文件 ~/software/apache/elasticsearch-6.2.4/config/analysis-ik$ l

原创 Flink學習筆記——用戶自定義Functions

Flink支持用戶自定義 Functions,方法有2個 Ref https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/dev/user_defined_funct

原创 Flink學習筆記——Execution Mode

Flink有3中運行模式,分別是STREAMING,BATCH和AUTOMATIC Ref https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/dev/datas