原创 kryo的簡單使用

前言:kryo是個高效的java序列化/反序列化庫,目前Twitter、yahoo、Apache、strom等等在使用該技術,比如Apache的spark、hive等大數據領域用的較多。 爲什麼使用kryo而不是其他? 因爲性能足夠好。比

原创 flink table select sqlnode的生成過程

javacc parsejj 這個需要去calcite去找 /** * Parses a leaf SELECT expression without ORDER BY. */ SqlSelect SqlSelect() : {

原创 Neo4j 數據血緣分析可視化

用工具獲取數據的血緣關係 用Neo4j可視化 添加節點    CREATE (PRODUCT:TABLES {title:'PRODUCT', tagline:'once upon a time'}) CREATE (PROFI

原创 【數據倉庫】元數據血緣分析

現在數據倉庫基本上採用Hadoop平臺了,那麼數據倉庫裏面元數據的血緣分析的思路有哪些呢 基本上有下面這兩種思路: 1、解析hql腳本,通過正則表達式去匹配每一行字符串 2、採用Hadoop自帶的語法分析類解析 這裏比較建議採用第二種

原创 「Flink」RocksDB介紹以及Flink對RocksDB的支持

RocksDB介紹 RocksDB簡介 RocksDB是基於C++語言編寫的嵌入式KV存儲引擎,它不是一個分佈式的DB,而是一個高效、高性能、單點的數據庫引擎。它是由Facebook基於Google開源的kv存儲LevelDB開發開發。R

原创 Checkpoint對齊源碼分析

checkpoint是保證Flink狀態容錯的重要機制,通過checkpoint可以實現不同的數據語義,也就是我們所說的Exactly-Once與At-Least-Once,通過不同的checkpoint機制實現不同的數據語義,這裏所說的

原创 Flink - RocksDBStateBackend

如果要考慮易用性和效率,使用rocksDB來替代普通內存的kv是有必要的 有了rocksdb,可以range查詢,可以支持columnfamily,可以各種壓縮 但是rocksdb本身是一個庫,是跑在RocksDBStateBackend

原创 Flink【優質】面試

一、概念和基礎篇 1. 簡單介紹一下Flink  Flink核心是一個流式的數據流執行引擎,其針對數據流的分佈式計算提供了數據分佈、數據通信以及容錯機制等功能。基於流執行引擎,Flink提供了諸多更高抽象層的API以便用戶編寫分佈式任務:

原创 Flink原理與實現:Flink中的狀態管理,keygroup,namespace

namespace維護每個subtask的狀態   上面Flink原理與實現的文章中,有引用word count的例子,但是都沒有包含狀態管理。也就是說,如果一個task在處理過程中掛掉了,那麼它在內存中的狀態都會丟失,所有的數據都需要重

原创 RocksDB介紹

RocksDB簡介 RocksDB是基於C++語言編寫的嵌入式KV存儲引擎,它不是一個分佈式的DB,而是一個高效、高性能、單點的數據庫引擎。它是由Facebook基於Google開源的kv存儲LevelDB開發開發。RocksDB使用LS

原创 Flink通過異步IO實現redis維表join

使用flink做實時數倉的公司越來越多了,浪尖這邊也是很早就開發了一個flink 全sql平臺來實現實時數倉的功能。說到實時數倉,兩個表的概念大家一定會知道的:事實表和維表。 在實時數倉中,事實表就是flink消費的kafka的topic

原创 樸素貝葉斯 中文垃圾郵件分類

%pylab inline import matplotlib.pyplot as plt import pandas as pd import string import codecs import os import jieba fr

原创 Flink源碼-task執行

執行 flink 作業的最小執行單元是task 示例 public class WorldCount {     public static void main(String[] args) throws Exception {    

原创 Flink基於RocksDB的增量檢查點機制

Flink之所以能夠做到高效而準確的有狀態流式處理,核心是依賴於檢查點(checkpoint)機制。當流式程序運行出現異常時,能夠從最近的一個檢查點恢復,從而最大限度地保證數據不丟失也不重複。 Flink檢查點本質上是通過異步屏障快照(a

原创 多模塊項目Module must not contain source root. The root already belongs to module

將該模塊下的.iml文件刪除,重新導入項目即可。