原创 flink checkpoint雜談

       Flink的 Checkpoint 默認是關閉的,當Flink程序的checkpoint被激活時,狀態會被持久化到checkpoint,以防止數據丟失和無縫恢復。狀態在內部如何組織和它們如何以及在哪持久化,依賴於所選的狀態後

原创 flink整合kafka及redis(java版)

pom.xml <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See t

原创 緩慢變化維常見解決方案

#摘自《大數據之路:阿里巴巴大數據實踐》 一.定義 緩慢變化維: 數據倉庫的重要特點之一是反映歷史變化,所以如何處理維度的變化是維度設計的重要工作之一。緩慢變化維的提出是因爲在現實世界中,維度的屬性並不是靜態的,它會隨着時間的流逝發生緩慢

原创 hive優化之小文件合併

文件數目過多,會給HDFS帶來壓力,並且會影響處理效率,可以通過合併Map和Reduce的結果文件來消除這樣的影響: set hive.merge.mapfiles = true ##在 map only 的任務結束時合併小文件 set

原创 事實表與維度表

        事實表(Fact Table)是指存儲有事實記錄的表,如系統日誌、銷售記錄等;事實表的記錄在不斷地動態增長,所以它的體積通常遠大於其他表。        維度表(Dimension Table)或維表,有時也稱查找表(Lo

原创 大數據 面試題 知識點

目錄 一.Hadoop 1.hdfs寫流程 2.hdfs讀流程 3.hdfs的體系結構 4.一個datanode 宕機,怎麼一個流程恢復 5.hadoop 的 namenode 宕機,怎麼解決 6.namenode對元數據的管理 7.元數

原创 數據治理之元數據管理

一.概述        元數據通常定義爲”關於數據的數據”,元數據貫穿了數據倉庫的整個生命週期,使用元數據驅動數據倉庫的開發,使數據倉庫自動化,可視化。元數據打通了源數據、數據倉庫、數據應用,記錄了數據從產生到消費的全過程。 例如我們看一

原创 spark之distinct去重原理

distinct算子原理:  貼上spark源碼: /** * Return a new RDD containing the distinct elements in this RDD. */ def disti

原创 SparkStreaming消費Kafka的offset的管理方式

目錄 pom.xml  1.自動提交偏移量(默認) 2.手動提交偏移量 3.Mysql管理偏移量 3.1 建表語句 3.2 配置文件 ​  3.3 代碼 4.Redis管理偏移量 pom.xml  <?xml version="1.0"

原创 SparkStreaming mysql-checkpoint及redis-checkpoint

pom.xml  <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=

原创 sparksql基礎Demo代碼

1.DataFrame 1.1 Case class封裝數據 wc.txt hello spark tom tom jim hello tom spark package com.wedoctor.sparksql import

原创 Spark筆試題之pv&uv

impclick.txt id         keywords                 imp  click 1010,華語劇場|劇情|當代|類型,1,0 1010,劇情|劇情|家庭劇|類型|熱血,1,1 1011,華語劇場|

原创 SparkSql -join及寫入mysql

package com.wedoctor.sparksql import java.io.InputStream import java.util.Properties import com.typesafe.config.{Con

原创 Spark筆試題之leftOuterJoin應用

a.txt id  age name u1 12 zs u2 15 xx u3 18 aaa u4 20 xa1 u5 22 xa2 b.txt id year  month movie u1 2016 9 m1 u2 2017 1

原创 Spark序列化

Spark默認序列化方式   但是如果使用Spark中提供的序列化機制kryoSerializer  速度快,佔用內存少,但是需要註冊     val conf: SparkConf = new SparkConf() .se