1. 程式人生 > >spark1.6轉到spark2.3總結(依賴、版本、初始化問題)

spark1.6轉到spark2.3總結(依賴、版本、初始化問題)

問題:pom裡面不寫spark版本(<spark.version>2.0.0</spark.version>)的話,可能會預設用spark1.6導致版本衝突異常——語法通過但無法編譯執行

問題(spark版本必須對應Scala版本):參考https://mvnrepository.com/artifact/org.apache.spark/spark-hive上面的spark和Scala混搭版本(不用理會hive版本)組合jar和pom寫法如下圖——

或者先看看自己的spark自帶的jar依賴到底用啥Scala版本(spark1.6似乎沒有這個目錄):

若沒對應上版本的話,會出現各種亂七八糟的異常,比如無法使用dataframe,報hive metastore初始化失敗;

問題(依賴):idea的maven工程裡,project structure -> modules -> dependencies 和 pom.xml依賴設定,如spark-core依賴只寫project structure會出現找不到依賴的異常,雖然語法沒問題;但是如果是下面這個包:

import org.apache.spark.mllib.linalg.distributed.RowMatrix

只寫pom,不在project structure -> modules -> dependencies配置的話,語法都過不了,這個mllib比較奇葩(看起來是由於org.apache.spark字首跟其他的包有歧義了,但hive等其他的包沒有此問題)。

參考解決方式:一般pom設定就能跑起來了(對大部分jar包project structure依賴加不加似乎無所謂);spark-shell沒有此困擾;

問題(初始化):spark2.0要指定本地測試的工作路徑.config("spark.sql.warehouse.dir","file:///work/4/test/spark-warehouse")否則:URISyntaxException: Relative path in absolute URI...

問題(虛擬機器):Ubuntu裡面要先啟動Hadoop服務(後啟動spark),才能使用dataset、dataframe等,否則報拒絕連線等異常;

問題:spark2.3查詢hbase0.96.1.1出現空指標異常(或者spark2.2這裡卡住不動),這應該是spark2本身的bug:

NoSuchMethodError: org.apache.hadoop.mapreduce.InputSplit.getLocationInfo()...

點進到對應原始碼位置會發現spark2.+沒有getLocationInfo函式,估計是spark從1升2的時候刪掉了,但這裡沒改好。

解決方式:換到spark1.6就好了o(╯□╰)o

相關推薦

spark1.6spark2.3總結依賴版本初始問題

問題:pom裡面不寫spark版本(<spark.version>2.0.0</spark.version>)的話,可能會預設用spark1.6導致版本衝突異常——語法通過但無法編譯執行 問題(spark版本必須對應Scala版本):參考https:/

淺析C++中的初始列表區別賦值和初始

派生類不能直接訪問基類的私有成員,而必須通過基類方法進行訪問。 具體來說,派生類建構函式必須使用基類建構函式。 建立派生類物件時,程式首先建立基類物件。C++使用初始化列表完成這項工作。 RatedPlayer::RatedPlayer(int r, co

Zepto源碼分析之一代碼結構及初始

剔除 col 函數賦值 mage 引用 define init方法 undefined 需要 關於讀源碼,讀jQuery自然是不錯,但太過於龐大不易解讀,對於小白,最好從Zepto,Lodash這樣的小庫入手。 這裏使用的是zepto1.1.6版本為例。 自執行函

spark1.6升級spark2.1時候sparkstreaming程式問題總結2018

升級版本說明:從spark2.1的maven配置pom.xml中可以看出版本!!   <dependency>    <groupId>org.apache.spark</groupId>    <art

總結3--- 知識總結內存管理線程阻塞GIL鎖

操作系統 python2.x 文件 訪問 外觀 python多線程 16px 重新 singleton 一、Python中是如何進行內存管理的? 垃圾回收:Python不像C++,Java等語言一樣,他們可以不用事先聲明變量類型而直接對變量進行賦值。對Python而言,對

Windows核心編程之核心總結第三章 內核對象2018.6.2)

Windows核心編程之核心總結學習目標 第三章內核對象的概念較為抽象,理解起來著實不易,我不斷上網找資料和看視頻,才基本理解了內核對象的概念和特性,其實整本書給我的感覺就是完整代碼太少了,沒有多少實踐的代碼對內容的實現,而且書本給的源碼例子,有太多我們不知道的知識,並且這些知識對本章主要內容來說是多余的,所

cdh5.15集群添加spark2.3服務parcels安裝

col 進行 sta alt 分享圖片 目錄 方式 topic parcel 背景: 機器系統:redhat7.3;已經配置了http服務 集群在安裝的時候沒有啟動spark服務,因為cdh5.15自帶的spark不是2.0,所以直接進行spark2.3的安裝 參考文檔:h

6.4Android程式設計權威指南3————第六章程式碼報告編譯版本限制作弊次數

報告編譯版本 關鍵程式碼 xml檔案 <TextView android:id="@+id/tv_compile_version" android:layout_width="wrap_content" android:layout

ubuntu18.04 下bochs-2.6.7 安裝的總結試驗成功後搬運

先下載bochs,版本隨意⼀般最新版即可,我裝的是bochs-2.6.7,直接去官⽹的最下⾯找到下載區,點擊⼀個版本之後會跳轉到更詳細的下載⻚⾯,我們是linux系統所以選擇bochs-2.6.7.tar.gz這種的壓縮格式。下載完成後開始解壓,在Ubuntu下按 Ctrl+

基於C#解決OJ刷題之輸入輸出問題的總結AKOJ1064-1071A+B問題匯總

-s har article not edit stat sig nbsp rgs 聲明:題目部分為akoj題目,代碼為本人AC代碼。 因為本人學校的oj支持各種環境,非常正常的當中就包括了C#。然暑假在家較為空暇,本著學習C#和復習算法的態度

循環語句總結代碼以C#為例

bre else col 運行 循環條件 span 表達式 條件 ons 1. while循環 代碼格式: while(循環條件) { //循環體 } 流程圖: 解讀: 如果循環條件為真,則執行循環體執行完循環體後,再判斷條件是否為真如果為真,再執行循環體然後

例題6-4 破損的鍵盤又名:悲劇文本Broken Keyboard,UVa 11988—靜態鏈表

else if strlen 靜態鏈表 尾插 指向 第一個元素 內容 其中 分享 問題描述: 你有一個破損的鍵盤。鍵盤上所有的鍵都可以正常工作,但有時候Home鍵或者End鍵會自動按下。你並不知道鍵盤存在這一問題,而是專心打稿子,甚至連顯示器都沒打開。當你打開

python基礎知識總結不斷更新。。。。

python可以簡便的方法:(1)lambda x,y:x*y(2)list1 = list(filter(lambda x:x%3 == 0,range(100)))filter 第一個參數是過濾條件,第二個是要過濾的內容返回值是個Object,得轉換為其他類型(3)map: list1 = map(lam

Windows程序設計核心總結打印機-2018.5.5

Windows程序設計核心總結本人大三學生,自學Windows程序設計有兩三個月了,我是看魚C工作室發布的Windows程序設計視頻入門的,這視頻集數雖然不是特別多,目前只有前面九章的視頻內容,但小甲魚老師講解書本內容十分詳細、入微,能讓我們學習到不少知識。我開發Win32的環境是VS2013。 一、打印機工

vue使用總結入門,入門,入門哈

object img 修改 大哥 com obj 一個 pro vue 一、組件間的通信 1.爺爺與孫子之間的通信。 最近做了一個類似朋友圈的需求。在下做的評論頁(上方動態詳情,下方評論列表,最底部fixed點贊+評論的編輯框)。如圖: 媽呀,圖太大。 爺爺組件要把點贊

JSOI2018冬令營遊記&總結遷移自洛谷博客

這一 朋友 二進制 比較 樹形dp 基本上 莫比烏斯 好玩 每一個 遊記 一開始在冬令營還沒開始的時候,十分期待,殊不知每天都有一場浩劫在等著我。 Day0 10:50出發,看見lbn同學發了一條說說,也隨便發了一個。 然後在車上一直在睡覺,現在感覺挺後悔的,其實可以好好預

Access表的創建和管理和CorelDRAW課程總結對象的操作和管理

存儲 管理工具 完成 core ces 知識 包括 掌握 重要 access總結 access表的是數據庫操作及錄入數據的必要步驟,要用表來存儲數據首先是創建一個表。要創建表首先必須了解access的數據類型、表結構字段屬性等內容。 創建完表還要向其中輸入數據,數據的輸入必

暑假第二周進度總結2018.7.16-2018.7.22

1.2 實驗 問題: java開發 二周 bsp 入門到 nbsp 進度 本周總結 看了高數第二章,《大道至簡》閱讀完成 《面對對象程序設計》三四章閱讀完成 《Java從入門到精通(第3版)》讀了前三章 完成面向對象的實驗任務1.2 總結: 學習時間:17h

Tomcat調優總結Tomcat自身優化Linux內核優化JVM優化

函數 基礎 order git sed .config cycle 運算 mage Tomcat自身的調優是針對conf/server.xml中的幾個參數的調優設置。首先是對這幾個參數的含義要有深刻而清楚的理解。以tomcat8.5為例,講解參數。 同時也得認識到一點,to

AOP的基礎知識總結jdk動態代理/cglib動態代理

AOP的基礎知識總結(jdk動態代理/cglib動態代理) 知識總結 aop切面程式設計 切面: 切面包含了通知和切點,通知和切點共同定義了切面是什麼,在何時,何處執行切面邏輯。 切點: 如果說通知定義了在何時執行通知,那麼切點就定義了在何處執行通知。所