Spark原始碼編譯支援Parquet儲存格式
Spark原始碼編譯
Spark原始碼編譯方式部署Spark時,為了支援Parquet功能,需要在原始碼編譯時指定支援Parquet功能(即在編譯命令中帶上”parquet-provided“引數),具體的編譯命令如下:
./dev/make-distribution.sh --name "hadoop310-without-hive" --tgz "-Pyarn,-Phadoop-3.1,-Dhadoop.version=3.1.0,parquet-provided,orc-provided"
具體Spark的部署可以參考:https://blog.csdn.net/wangkai_123456/article/details/87348161#3Spark_25
Hadoop-Parquet相關jar包下載
查詢與系統(此處以hive為例)的parquet版本號
環境資訊:
hadoop版本:3.1.0
spark版本:2.3.3
hive版本:3.1.1
為了保證Parquet的jar包與版本的相容性,可以在hive原始碼根目錄下的pom.xml檔案中檢視與hive相相容的parquet版本號,查詢parquet.version,以hive-3.1.1為例,查詢的結果如下:
<parquet.version>1.10.0</parquet.version>
<pig.version>0.16.0</pig.version>
<plexus.version>1.5.6</plexus.version>
<protobuf.version>2.5.0</protobuf.version>
<stax.version>1.0.1</stax.version>
<slf4j.version>1.7.10</slf4j.version>
<ST4.version>4.0.4</ST4.version>
<storage-api.version>2.7.0</storage-api.version>
<tez.version>0.9.1</tez.version>
<super-csv.version>2.2.0</super-csv.version>
<spark.version>2.3.0</spark.version>
<scala.binary.version>2.11</scala.binary.version>
<scala.version>2.11.8</scala.version>
查詢到的parquet版本為1.10.0版本
下載hadoop-parquet相關jar包
下載地址:https://mvnrepository.com/artifact/org.apache.parquet/parquet-hadoop
使用maven下載Apache Parquet Hadoop 1.10.0版本的jar包,下載下來的jar包如下:
commons-codec-1.10.jar
jackson-mapper-asl-1.9.13.jar
parquet-encoding-1.10.0.jar
parquet-jackson-1.10.0.jar
commons-pool-1.6.jar
parquet-column-1.10.0.jar
parquet-format-2.4.0.jar
slf4j-api-1.7.2.jar
jackson-core-asl-1.9.13.jar
parquet-common-1.10.0.jar
parquet-hadoop-1.10.0.jar
snappy-java-1.1.2.6.jar
Spark配置
將下載的Parquet Hadoop相關的所有jar包加入到spark的classpath裡面:將下載的Parquet Hadoop相關的所有jar包儲存到/usr/local/parquet-hadoop-jars目錄下,並在${SPARK_HOME}/conf/spark-defaults.conf檔案中新增如下配置:
spark.driver.extraClassPath /usr/local/parquet-hadoop-jars/*
spark.executor.extraClassPath /usr/local/parquet-hadoop-jars/*
spark叢集所有節點都做同樣的配置,最後重啟spark叢集即可。
相關文章
- Spark 儲存模組原始碼學習Spark原始碼
- spark 原始碼分析之十八 -- Spark儲存體系剖析Spark原始碼
- spark 原始碼分析之十六 -- Spark記憶體儲存剖析Spark原始碼記憶體
- Spark原始碼編譯與匯入IDEA除錯Spark原始碼編譯Idea除錯
- OceanBase 原始碼解讀(九):儲存層程式碼解讀之「巨集塊儲存格式」原始碼
- 使用 IntelliJ IDEA 匯入 Spark 最新原始碼及編譯 Spark 原始碼(博主強烈推薦)IntelliJIdeaSpark原始碼編譯
- Spark Parquet詳解Spark
- PHP 編譯引數儲存PHP編譯
- Spark儲存Parquet資料到Hive,對map、array、struct欄位型別的處理SparkHiveStruct型別
- OceanBase 儲存層程式碼解讀(二)微塊儲存格式
- OceanBase 儲存層程式碼解讀(三)巨集塊儲存格式
- Spring原始碼編譯Spring原始碼編譯
- Kubernetes原始碼編譯原始碼編譯
- Spark in action on Kubernetes - 儲存篇Spark
- XCode 編譯 PAG 原始碼XCode編譯原始碼
- Docker編譯Azerothcore原始碼Docker編譯原始碼
- 原始碼編譯Vim 8原始碼編譯
- MongoDB(0)- 原始碼編譯MongoDB原始碼編譯
- Laravel 儲存 (Storage) 原始碼分析Laravel原始碼
- Oracle 編譯儲存過程卡死解決方法Oracle編譯儲存過程
- Spark in action on Kubernetes - 儲存篇(一)Spark
- Appdash原始碼閱讀——Store儲存APP原始碼
- 龍芯原始碼編譯MySQL原始碼編譯MySql
- 原始碼編譯 apache2.4原始碼編譯Apache
- WebRTC研究 (一) 編譯原始碼Web編譯原始碼
- Swift原始碼專案編譯Swift原始碼編譯
- MacOS X 編譯Android原始碼Mac編譯Android原始碼
- 原始碼編譯安裝Redis原始碼編譯Redis
- nvme driver 原始碼修改、編譯原始碼編譯
- Android FrameWork 之原始碼編譯AndroidFramework原始碼編譯
- Mysql 行的儲存格式MySql
- Nebula Storage 2.0 儲存格式
- hive檔案儲存格式Hive
- Oracle儲存過程編譯卡死的解決方法Oracle儲存過程編譯
- android 反編譯APK取原始碼。Android編譯APK原始碼
- 【轉】MySQL原始碼編譯安裝MySql原始碼編譯
- 原始碼編譯安裝的原理原始碼編譯
- openssl原始碼編譯及配置方法原始碼編譯