原创 flink 三種方式實現wordcount

sum 在對datastream keyby後使用sum函數聚合 package com.stanley.wordcount import org.apache.flink.streaming.api.scala.{DataStrea

原创 flink EventTime中watermark詳解

window對數據的操作 flink在對流數據進行窗口操作時,當eventtime在過了窗口時間後會進行關窗操作。然後在實際生產環境中,由於網絡等各種各樣的原因可能會出現遲到數據,導致數據亂序。如下圖所示,圓圈裏的數字代表時間,這時候如果

原创 spark 實現共同好友查找

共同好友:求大量集合的兩兩交集 目標:令U爲包含所有用戶的一個集合:{U1,U2,...,Un},我們的目標是爲每個(Ui,Uj)對(i!=j)找出共同好友。 前提:好友關係是雙向的 輸入:<person><,><friend1><

原创 JAVA虛擬機JVM粗淺理解

JVM的概念 JVM(Java Virtual Machine)顧名思義就是java虛擬機,他是在不同計算機平臺中構建出來的一個虛擬計算機來實現各種功能,所以他有個很重要的特點就是平臺的無關性。只要你所在的系統無論是linux,windo

原创 python獲取時間格式爲yyyy-MM-dd的時間工具類

通過調用下面的方法獲取想要獲得的時間,時間格式爲yyyy-MM-dd # encoding: utf-8 import datetime def get_curmonth_firstday(): """ 獲取當月第一

原创 使用canal 監聽mysql binlog獲取增量數據

配置mysql  sudo vi /etc/my.cnf [mysqld] log-bin=/var/lib/mysql/mysql-bin binlog-format=ROW server_id=1 添加canal用戶,修改權限 C

原创 hive拉鍊表詳解

新增及變化數據 如下圖所示,2020-01-01爲初始化數據,在2020-01-02的時候jacky約增加了500,數據庫裏又新增了lucy這個新用戶。對於數據倉庫來說jacky就是變化的數據,lucy就是新增的數據。 如何將新增以及

原创 scala和java的關聯以及區別

從Hello World說起 編寫一段最基本的helloworld代碼,然後我們對生產的class文件進行反編譯,可以看到生成了兩個class文件 一個是HelloWorld,一個是HelloWorld$ object HelloWor

原创 Spring創建實例源碼分析

我們知道Spring框架創建實例是通過ioc容器自動創建,那麼它到底是怎麼通過配置文件創建出實例的,下面從一個最基本的例子來debug分析實例創建的過程 準備 首先,創建一個User類並將user注入到Spring容器中去,並且在無參構造

原创 CDH配置Kerberos,通過windows瀏覽器訪問管理頁面

CDH在配置kerberos權限後,通過windows瀏覽器訪問namenode,yarn等頁面會被拒絕訪問,造成這種現象的原因是因爲在你訪問的windows系統中沒有配置kerberos客戶端,導致沒有權限訪問。在這裏我們需要安裝 mi

原创 DataX 源碼分析之執行文件datax.py

DataX是阿里開源的一個異構數據源離線同步工具,底層源碼使用java開發,編譯完成後用python執行,首先我們先來分析datax.py的執行文件 #!/usr/bin/env python # -*- coding:utf-8 -*

原创 python獲取時間

通過調用下面的方法獲取想要獲得的時間,時間格式爲yyyy-MM-dd # encoding: utf-8 import datetime def get_curmonth_firstday(): """ 獲取當月第一

原创 使用xpath包 爬取房天下信息,並存入excel

由於房天下房源並不是動態加載,屬於靜態頁面,所以爬取起來非常簡單,這是我們使用xpath 可以輕易獲取信息,以下是爬取杭州新房信息源碼,爬取內容爲樓盤名稱,地址,所在區以及價格# coding:utf-8 import requests

原创 spark screaming 模擬實戰項目實例

由於沒有網絡日誌,我們這裏用之前寫的python腳本爬取新浪微博熱搜模擬產生日誌文件,通過kafka和flume整合 將日誌定時抽取到 spark上進行處理,微博熱搜是十分鐘更新一次,我們這裏也設置十分鐘的定時任務,具體步驟如下第一步編寫

原创 linux下使用yum命令安裝mysql

首先用rmp –qa | grep mysql 查看是否有已經安裝的mysql版本切換到root用戶,卸載搜索出來的版本 rpm –e –nodeps mysql-libs-5.1.71-1.el6.x86_64再次查詢rmp –qa |