原创 java.sql.SQLException: ResultSet is closed解決方法

這個小問題弄了半天才恍然大悟…… 之前的數據庫連接和rs.next()都沒問題,在關閉rs前用了三次rs.next(),跟了兩次斷點沒發現那裏有問題,而在改關閉連接等的時候用了: pst.close(); //Prepared

原创 Spark寫入Parquet,暴露JDBC引擎,實現準實時SQL查詢

有一個設想 當有持續不斷的結構化或非結構化大數據集以流(streaming)的方式進入分佈式計算平臺, 能夠保存在大規模分佈式存儲上,並且能夠提供準實時SQL查詢,這個系統多少人求之不得。 今天,咱們就來介紹一下這個計算框架和過程

原创 GitLab關閉用戶註冊功能

去掉 Sign-up enabled 的對勾 Admin–>settings –> Sign-in Restrictions Sign-up enbaled 關閉註冊功能 Sign-in enbaled 關閉註冊登錄功能

原创 SparkSQL操作Hive Table(enableHiveSupport())

Spark SQL支持對Hive的讀寫操作。然而因爲Hive有很多依賴包,所以這些依賴包沒有包含在默認的Spark包裏面。如果Hive依賴的包能在classpath找到,Spark將會自動加載它們。需要注意的是,這些Hive依賴包

原创 Hive用戶自定義聚合函數(UDAF)

用戶自定義聚合函數,用戶提供的多個入參通過聚合計算(求和、求最大值、求最小值)得到一個聚合計算結果的函數。 問題:UDF也可以提供輸入多個參數然後輸出一個結果的運算,比如加法運算add(3,5),add這個UDF需要實現UDF的

原创 塊存儲、文件存儲、對象存儲區別

塊存儲 典型設備:磁盤陣列,硬盤 塊存儲主要是將裸磁盤空間整個映射給主機使用的,就是說例如磁盤陣列裏面有5塊磁盤(爲方便說明,假設每個硬盤1G),然後可以通過劃邏輯盤、做Raid、或者LVM(邏輯卷)等種種方式邏輯劃分出N個邏輯的硬盤。

原创 網關及網關作用

什麼是網關 網關(Gateway)又稱網間連接器、協議轉換器。網關在傳輸層上以實現網絡互連,是最複雜的網絡互連設備,僅用於兩個高層協議不同的網絡互連。網關的結構也和路由器類似,不同的是互連層。網關既可以用於廣域互連,也可以用於局域網互連。

原创 Docker基礎及使用總結

什麼是Docker 基本介紹 Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從Apache2.0協議開源。Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發佈到任何流行的 Linux 機

原创 Spark2.2.0源碼編譯打包

下載Spark2.2.0源碼 在Spark官網下載源碼,選着Source Code下載即可(也可以git clone spark源碼),下載之後的tar包傳入機器對應位置解壓即可。 安裝Maven並配置 在環境變量裏設置maven內存

原创 Java四種線程池的用法分析

1、new Thread的弊端 new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated metho

原创 Spark爲何使用Netty通信框架替代Akka

解決方案 一直以來,基於Akka實現的RPC通信框架是Spark引以爲豪的主要特性,也是與Hadoop等分佈式計算框架對比過程中一大亮點,但是時代和技術都在演化,從Spark1.3.1版本開始,爲了解決大數據塊(如shuffle)的傳輸問

原创 JVM性能調優監控工具jps、jstack、jmap、jhat、jstat、hprof使用詳解

現實企業級Java開發中,有時候我們會碰到下面這些問題: OutOfMemoryError,內存不足 內存泄露 線程死鎖 鎖爭用(Lock Contention) Java進程消耗CPU過高 這些問題在日常開中可能被很多人忽視(比如有

原创 Ceph對象存儲網關中的索引工作原理

Ceph對象存儲網關允許你通過Swift及S3 API訪問Ceph。他將這些API請求轉化爲librados請求。Librados是一個非常出色的對象存儲(庫)但是它無法高效的列舉對象。對象存儲網關維護自有索引來提升列舉對象的響應性能並維

原创 Docker中鏡像和容器的區別

一、Docker鏡像 要理解Docker鏡像和Docker容器之間的區別,確實不容易。 假設Linux內核是第0層,那麼無論怎麼運行Docker,他都是運行於內核層之上的。這個Docker鏡像,是一個只讀的鏡像,位於第一層,他不能被修改或

原创 Docker1.7.1基本使用

查找鏡像 $>docker search ${imagename} 拉取鏡像 $>docker pull <鏡像名:tag> //例如 $>docker pull asdc/centos6.7 查看所有鏡像 $>docker images