原创 flume的配置詳解

1.flume版本是1.8 關於flume的各個source channel sink選型 注意看看官網http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.

原创 spark四種運行模式

spark的核心組件 1.1Driver Spark 驅動器節點,用於執行 Spark 任務中的 main 方法,負責實際代碼的執行 工作。Driver 在 Spark 作業執行時主要負責: 1.1.1) 將用戶查詢轉化爲任務;

原创 hive數據新舊平臺遷移

背景:年前就已經規劃好了,今年要將所有的數據接入一個大的平臺,新平臺搭建好,將舊平臺的數據遷移過去即可。此時輪到本小組將自己的舊平臺數據遷移到新平臺中。注:舊平臺5.12,新平臺6.1.1。 自己遇到的問題並解決。 1.腳本中文傳

原创 hive Cannot obtain block length for LocatedBlock 報錯定位

1.背景:昨天運維同事生產升級了MySQL,跑的定時任務出錯。 2.查看job 發現規律 所有的查詢都跑完,但插入不進去數據。 3.查看日誌mr都100%但插入的都被kill掉了,最後有個映射錯誤啥的,錯誤不明顯。 4,在HUE

原创 spark常見的RDD

RDD定義 彈性分佈式數據集。 是spark爲簡化用戶的使用,對所有的底層數據進行的抽象,以面向對象的方式提供了RDD很多的方法,通過這些方法來對RDD進行計算和輸出。RDD是Spark的基石,所有的上層模塊全部都是由RDD來

原创 scala中偏函數和柯里化的區別

1.概念: 偏函數:就是固定部分參數,生成另外一個參數更少的方法 柯里化:把一個多參數的方法,改造成可以接受單一參數的方法,並返回接受剩餘參數的新函數。 區別:柯里化是可以將n個參數的方法拆成n次調用;偏函數則是將n個參數的方法拆

原创 hive利器 宏macro的詳解

聲明:本帖子不是貧僧原創,都是爲了學習和了解宏,使用宏,同時也加入自己在應用中對某些知識點的理解,做個一個綜合的。向幾位大佬致敬。建議看原貼,鏈接在最下面。 1.macro初步瞭解 宏可以看做是一個簡短的函數,或者是對一個表達式取

原创 hive去重問題的幾種方式

在做維表時,很重要一點是要去重。那麼去重有那些方式呢? 1.distinct 2.group by 前面兩種關係型的也常用,我就不說了。 3.row_number insert overwrite table dw_dw.dw_d

原创 hive中幾種唯一主鍵的選擇和優劣比較

hive表是沒有主鍵的,但在建表時最好加一個主鍵,方便查詢。聯合主鍵另說,其實也就可一利用聯合主鍵來。 1.uuid 2.row_number() 例子: insert into tbl_dim select row_number

原创 rank,dense_rank,row_number,ntile區別和用法。

背景,忙完了。終於不用再趕了,自己在做項目中遇到的和當時迷惑的某些點,記錄了一下,現在來做一個總結。 RANK() 排序相同時會重複,總數不會變。 DENSE_RANK()排序相同時會重複,總數會減少。 (dense:稠密的意思)

原创 hive 同步數據到 Elasticsearch

背景:將客戶的詳細地址清洗拼接 調用外部百度地圖接口解析成經緯度,結合業務信息組成寬表同步到Elasticsearch中 #!/bin/sh -X #引用公共參數,獲取上游數據庫權限賦值 source P_PARAMETER_SHAR

原创 Elasticsearch document寫入原理及數據恢復

1)數據寫入buffer (2)commit point (3)buffer中的數據寫入新的index segment (4)等待在os cache中的index segment被fsync強制刷到磁盤上 (5)新的index sge

原创 Elasticsearch 自定義dynamic mapping

1、定製dynamic策略 true:遇到陌生字段,就進行dynamic mapping false:遇到陌生字段,就忽略 strict:遇到陌生字段,就報錯 例子: PUT /my_index { “mappings”: { “my

原创 Elasticsearch 基於scoll+bulk+索引別名實現零停機重建索引

1、重建索引 一個field的設置是不能被修改的,如果要修改一個Field,那麼應該重新按照新的mapping,建立一個index,然後將數據批量查詢出來,重新用bulk api寫入index中 批量查詢的時候,建議採用scroll

原创 Elasticsearch修改分詞器以及自定義分詞器

1、默認的分詞器 standard standard tokenizer:以單詞邊界進行切分 standard token filter:什麼都不做 lowercase token filter:將所有字母轉換爲小寫 stop tok