原创 流計算中kafka的OffsetReset策略

朋友的公司做的是西南某邊境省份網紅新能源車的數據處理,由於新能源車的火爆,從年初從現在,數據量已經翻番。但與此同時,服務器卻沒有多少增加。無奈之下,只能暫時將kafka的數據存儲時間由之前的1天改爲6小時,5小時。其實有點危險,如果在

原创 自己實現HashSet

HashSet的實現相對比較簡單。它強依賴於HashMap,包括底層數據實際上就是存儲於HashMap,由於HashMap在哈希碰撞下,如果value值相同,那麼將會覆蓋該value,HashSet正是利用這一特性來達到元素唯一的。 一屬性

原创 阿里巴巴Java開發手冊與自己開發對照筆記

 一編程規約  (一)命名風格 某些時候在命名常量的時候,會覺得太長而減少長度導致命名不清。   抽象類及測試類寫得比較少。   這一點值得注意,在開發中,布爾變量我都是使用is開始。     關於包名和類名的單數和複數形式,主要集

原创 自己實現HashMap

一載體 HashMap是由數組組成,數組元素爲哈希鏈。 數組 public class MyHashMap<K, V> { transient Node<K, V>[] table; } 數組元素 @SuppressWa

原创 《Flink SQL任務自動生成與提交》後續:修改flink源碼實現kafka connector BatchMode

目錄問題思路kafka參數問題支持batchmode的問題參數提交至kafkasource的問題group by支持問題實現編譯測試 因爲在一篇博文上看到介紹“汽車之家介紹flink數據平臺”中提到“基於 SQL 的開發流程”。基於kafk

原创 distribute by在spark中的一些應用

一.在二次排序當中的應用 1.1 說到排序當然第一想到的就是sort by和order by這兩者的區別,也分情況。 在算子當中,兩者沒有區別,orderby()調用的也是sort。order by就是sort的別名。 /** *

原创 分佈式條件下Integer大小比值的問題

目錄起因但是,搞大數據的同學請注意了!動機驗證處理 起因 臨下班,偶然看到阿里巴巴《JAVA開發手冊》中,關於整型包裝類對象之間值的比較的規約,裏面提到強制使用equals,而不使用==。原因衆所周知,在-128 至 127,Integer

原创 Flink SQL任務自動生成與提交

目錄起因思路實現1.配置2.界面如下3.環境問題 起因 事情的起因,是看到一篇公衆號文章Apache Flink 在汽車之家的應用與實踐,裏面提到了“基於 SQL 的開發流程”。在平臺提供以上功能的基礎上,用戶可以快速的實現 SQL 作業的

原创 技術選型的一點個人思考

目錄1.前言2.效率2.1沒有絕對的效率2.2效率是否絕對重要3環境3.1國內開發大環境3.2技術社區的影響4團隊4.1 團隊負責人及核心骨幹的技術積累以及技術偏好 1.前言 這個題目有點大。工作也有些年頭,從開始入行的被動接受,什麼流行就

原创 流處理的限速/反壓機制

本文主要是指spark+kafka,不包括flink。 摘要 1.spark streaming有限速(max rate),有反壓(back pressure)。 2.structured streaming沒有反壓,只有限速。 1.爲

原创 spring boot + apache camel 傳輸文件

一 sftp搭建略 這裏簡單說一下爲什麼使用sftp。ftp和sftp各有優點,差別並不是太大。sftp安全性好,性能比ftp低。ftp對於java來說並不複雜,效率也高。之所以使用sftp主要是可以使用spring-boot+apache

原创 佈署配置管理中心apollo

Apollo(阿波羅)是攜程框架部門研發的分佈式配置中心,能夠集中化管理應用不同環境、不同集羣的配置,配置修改後能夠實時推送到應用端,並且具備規範的權限、流程治理等特性,適用於微服務配置管理場景。 服務端基於Spring Boot和Spri

原创 使用netty HashedWheelTimer構建簡單延遲隊列

背景 最近項目中有個業務,需要對用戶新增任務到期後進行業務處理。使用定時任務定時掃描過期時間,浪費資源,且不實時。只能使用延時隊列處理。   DelayQueue 第一想到的是java自帶的延時隊列delayqueue。 首先實現一個Del

原创 idea 查看scala源代碼

使用idea編寫spark程序,想要查看源代碼,點進去是compiled code   ` private[sql] def this(sc : org.apache.spark.SparkContext) = { /* compiled

原创 spring boot 1.x配置,不斷完善中

spring boot是典型的約定大於配置,那麼很有必要對在開發過程中這些配置做統一的添加記錄,以免用到的時候到處搜索,網上的東西又良莠不齊。 server.port=8880   微服務註冊中心,yml文件 server: po