原创 spark sql 不等值 join

products一個商品價格變化的表,orders商品訂單,記錄每次購買商品和日期基於Spark SQL中的不等值join實現orders和products的匹配,統計每個訂單中商品對應當時的價格 緩慢變化的商品價格表旺仔牛奶,發生過一次價

原创 【Flume】TailDirSource源碼理解

TaildirSource類圖如下(列出主要類) TailDirSource類TailDirSource繼承了AbstractSource類,而AbstractSource類中channelProcessor屬性負責將Source中的Ev

原创 垂直行業大數據分層架構圖

大數據平臺架構圖

原创 【總結】使用Scala實現Json與Case Class相互轉換

import org.json4s.native.Serialization.{read, write} object Json2CaseClass extends App {   implicit val formats = org.js

原创 【總結】Apache Sentry 服務簡介

    Sentry是一個RPC服務,將認證元數據信息存儲在關係型數據庫,並提供RPC接口檢索和操作權限。利用Kerveros支持安全訪問。Sentry Service通過後臺數據庫存儲提供認證元數據信息,不處理真實的權限驗證,當Hive,

原创 【問題】java.lang.NoSuchMethodError: scala.Product.$init$

運行Spark任務,報錯java.lang.NoSuchMethodError: scala.Product.$init$……選擇File -> Project StrutureGlobal Libraries中設置了編譯版本等與代碼中所引

原创 【總結】log4j on sentry實踐

1、sentry Sentry一個開源錯誤跟蹤工具,能夠讓開發者實時監控和修復崩潰程序,持續迭代,提高效率。程序代碼中集成Sentry之後,能夠將異常信息發送到Sentry服務,並且可以通過配置Sentry插件,能夠實現通過郵件、釘釘等告警

原创 【總結】filebeat進程寫滿磁盤的情況處理

採用filebeat收集日誌,日誌文件頻繁rotate,造成filebeat佔用文件不釋放,只要filebeat保持着被刪除文件Open狀態,操作系統就不釋放磁盤空間,導致可用磁盤空間逐漸減小。如下監控圖,殺掉filebeat進程之後,磁盤

原创 多來源數據採集、處理的數據流程

數據平臺數據處理流程圖 數據準備:主要分爲幾個來源:FTP數據來源,合作方推送的數據,從攜程對外開放的API接口獲取數據,酒店管理系統日誌數據以及在線旅行社網站的數據源。 數據接入:針對數據多來源的特性開發針對特定場景的數據接入方式。a

原创 【Flume】HDFSSink配置參數說明

NameDefaultDescriptionchannel–type–The component type name, needs to be hdfshdfs.path–HDFS directory path (eg hdfs://nam

原创 【總結】使用Json4s實現Scala對象轉Json

object JsonExample extends App {import org.json4s.JsonDSL._import org.json4s.jackson.JsonMethods._//第一部分,官網例子case class

原创 【問題】無效的源發行版1.8

利用sbt打包spark工程的時候報錯,如果按下圖修改還報錯的話,確認環境變量中java是引用哪個版本。利用java -version可以看看目前生效的java版本,確認目前生效的是1.8版本即可

原创 【Flume】HDFSSink源碼理解

HDFSSink組件中,主要由HDFSEventSink,BucketWriter,HDFSWriter幾個類構成。其中HDFSEventSink主要功能呢是判定Sink的配置條件是否合法,並負責從Channel中獲取events,通過解析

原创 【總結】Fair Scheduler

Fair Scheduler總結默認公平調度調度策略僅僅基於內存資源,通過使用DRF(Dominant Resource Fairness)能夠配置基於內存和CPU資源任務調度。當只有一個應用運行的時候,該應用能夠使用整個集羣。當其他應用提

原创 【總結】hadoop-2.6.0-cdh5.9.0版本中Capacity Scheduler特點總結

特點:1、分層隊列:支持隊列分層能夠保證一個組織的子隊列能夠在允許其他隊列使用資源之前共享資源,提供更多控制和預測性2、容量保證:分配給隊列一小部分容量,一定意義上說,這部分容量由隊列掌控。提交到隊列的所有應用程序將可以訪問分配給隊列的容量