1. 程式人生 > >Apache Zeppelin 中 Spark 直譯器

Apache Zeppelin 中 Spark 直譯器

概述

Apache Spark是一種快速和通用的叢集計算系統。它提供Java,Scala,Python和R中的高階API,以及支援一般執行圖的優化引擎。Zeppelin支援Apache Spark,Spark直譯器組由5個直譯器組成。

名稱 描述
%spark SparkInterpreter 建立一個SparkContext並提供Scala環境
%spark.pyspark PySparkInterpreter 提供Python環境
%spark.r SparkRInterpreter 提供具有SparkR支援的R環境
%spark.sql SparkSQLInterpreter 提供SQL環境
%spark.dep DepInterpreter 依賴載入器

配置

Spark直譯器可以配置為由Zeppelin提供的屬性。您還可以設定表中未列出的其他Spark屬性。有關其他屬性的列表,請參閱Spark可用屬性

屬性 預設 描述
ARGS Spark命令列參考
master
local[*] Spark master uri.
例如:spark://masterhost:7077
spark.app.name Zeppelin Spark應用的名稱。
spark.cores.max 要使用的核心總數。
空值使用所有可用的核心。
spark.executor.memory 1g 每個worker例項的執行程式記憶體。
ex)512m,32g
zeppelin.dep.additionalRemoteRepository  id,remote-repository-URL,is-snapshot;

每個遠端儲存庫的列表。
zeppelin.dep.localrepo local-repo 依賴載入器的本地儲存庫
zeppelin.pyspark.python python Python命令來執行pyspark
zeppelin.spark.concurrentSQL python 如果設定為true,則同時執行多個SQL。
zeppelin.spark.maxResult 1000 要顯示的Spark SQL結果的最大數量。
zeppelin.spark.printREPLOutput true 列印REPL輸出
zeppelin.spark.useHiveContext true 如果它是真的,使用HiveContext而不是SQLContext。
zeppelin.spark.importImplicit true 匯入含義,UDF集合和sql如果設定為true。

沒有任何配置,Spark直譯器在本地模式下開箱即用。但是,如果要連線到Spark群集,則需要按照以下兩個簡單步驟進行操作。

1.匯出SPARK_HOME

conf/zeppelin-env.sh,匯出SPARK_HOME環境變數與您的Spark安裝路徑。

例如,

export SPARK_HOME=/usr/lib/spark 

您可以選擇設定更多的環境變數

# set hadoop conf dir export HADOOP_CONF_DIR=/usr/lib/hadoop # set options to pass spark-submit command export SPARK_SUBMIT_OPTIONS="--packages com.databricks:spark-csv_2.10:1.2.0" # extra classpath. e.g. set classpath for hive-site.xml export ZEPPELIN_INTP_CLASSPATH_OVERRIDES=/etc/hive/conf 

對於Windows,確保你winutils.exe%HADOOP_HOME%\bin。有關詳細資訊,請參閱在Windows上執行Hadoop的問題

2.在“直譯器”選單中設定主機

啟動Zeppelin後,轉到直譯器選單並在Spark直譯器設定中編輯屬性。該值可能因您的Spark群集部署型別而異。

例如,

  • local[*]  本地模式
  • spark://master:7077 standalone 叢集模式
  • yarn-client Yarn 客戶端模式
  • mesos://host:5050 Mesos 叢集模式

而已。Zeppelin將使用任何版本的Spark和任何部署型別,而不用這種方式重建Zeppelin。有關Spark&Zeppelin版本相容性的更多資訊,請參閱Zeppelin下載頁面中的“可用的口譯員”部分。

請注意,不匯出SPARK_HOME,它以本地模式執行,包含版本的Spark。附帶的版本可能因構建配置檔案而異。

SparkContext,SQLContext,SparkSession,ZeppelinContext

SparkContext,SQLContext和ZeppelinContext會自動建立並顯示為變數名scsqlContextz分別在Scala,Python和R環境中公開。從0.6.1起,spark當您使用Spark 2.x時,SparkSession可以作為變數使用。

請注意,Scala / Python / R環境共享相同的SparkContext,SQLContext和ZeppelinContext例項。

依賴管理 

在Spark直譯器中載入外部庫有兩種方法。首先是使用直譯器設定選單,其次是載入Spark屬性。

1.通過直譯器設定設定依賴關係

有關詳細資訊,請參閱直譯器依賴管理

2.載入Spark屬性

一旦SPARK_HOME被設定conf/zeppelin-env.sh,Zeppelin使用spark-submit作為Spark解釋賽跑者。spark-submit支援兩種方式來載入配置。第一個是命令列選項,如--master和飛艇可以通過這些選項spark-submit通過匯出SPARK_SUBMIT_OPTIONSconf/zeppelin-env.sh。二是從中讀取配置選項SPARK_HOME/conf/spark-defaults.conf。使用者可以設定分發庫的Spark屬性有:

火花defaults.conf SPARK_SUBMIT_OPTIONS 描述
spark.jars --jars 包含在驅動程式和執行器類路徑上的本地jar的逗號分隔列表。
spark.jars.packages --packages

逗號分隔列表,用於包含在驅動程式和執行器類路徑上的jar的maven座標。

將搜尋當地的maven repo,然後搜尋maven中心和由–repositories提供的任何其他遠端儲存庫。

座標的格式應該是groupId:artifactId:version

spark.files --files 要放置在每個執行器的工作目錄中的逗號分隔的檔案列表。

以下是幾個例子:

  • SPARK_SUBMIT_OPTIONS 在 conf/zeppelin-env.sh

    export SPARK_SUBMIT_OPTIONS="--packages com.databricks:spark-csv_2.10:1.2.0 --jars /path/mylib1.jar,/path/mylib2.jar --files /path/mylib1.py,/path/mylib2.zip,/path/mylib3.egg" 
  • SPARK_HOME/conf/spark-defaults.conf

    spark.jars        /path/mylib1.jar,/path/mylib2.jar spark.jars.packages   com.databricks:spark-csv_2.10:1.2.0 spark.files       /path/mylib1.py,/path/mylib2.egg,/path/mylib3.zip  

3.通過%spark.dep直譯器載入動態依賴關係

注:%spark.dep解釋負載庫%spark%spark.pyspark而不是 %spark.sql翻譯。所以我們建議你改用第一個選項。

當你的程式碼需要外部庫,而不是下載/複製/重新啟動Zeppelin,你可以使用%spark.dep直譯器輕鬆地完成以下工作。

  • 從maven庫遞迴載入庫
  • 從本地檔案系統載入庫
  • 新增額外的maven倉庫
  • 自動將庫新增到SparkCluster(可以關閉)

直譯器利用Scala環境。所以你可以在這裡編寫任何Scala程式碼。需要注意的是%spark.dep解釋前應使用%spark%spark.pyspark%spark.sql

這是用法

相關推薦

Apache Zeppelin Spark 直譯器

概述 Apache Spark是一種快速和通用的叢集計算系統。它提供Java,Scala,Python和R中的高階API,以及支援一般執行圖的優化引擎。Zeppelin支援Ap

Apache Zeppelin JDBC通用 直譯器

建立一個新的JDBC直譯器 首先,+ Create在直譯器設定頁面的右上角單擊按鈕。  Interpreter name用任何你想要用作別名的填充欄位(如mysql,mysql2,h

Spark互動式分析平臺Apache Zeppelin的安裝

Zeppelin介紹 Apache Zeppelin提供了web版的類似ipython的notebook,用於做資料分析和視覺化。背後可以接入不同的資料處理引擎,包括spark, hive, tajo等,原生支援scala, java, shell, mark

apach zeppelin使用spark streaming:基本功能

一.需求 在使用spark-streaming 處理流式任務時,由於spark-shell需要登入到和生產叢集相連的機器開啟,使用起來也有諸多不便,且預設不支援kafka等源,所以萌生使用zeppelin 中的spark interpreter來完成streaming

CDH Apache Kylin使用spark引擎構建Cube

簡介     Kylin v2.0引入了Spark引擎,可以在構建Cube步驟中替換MapReduce,目前還是beta版本,以下是配置步驟。 配置步驟   1.在kylin的安裝目錄下,新

ideaspark項目Scala語言讀取properties文件

module 技術分享 clas 點擊 ade file asstream -1 str 1.將文件放入resources目錄下面,將文件設置成resources file->Project Structure->Modules 選擇文件,然後點擊resourc

Spark HA 配置spark.deploy.zookeeper.url 的意思

pts ubun 後來 spark 錯誤 解密 mas java 說明 Spark HA的配置網上很多,最近我在看王林的Spark的視頻,要付費的。那個人牛B吹得很大,本事應該是有的,但是有本事,不一定就是好老師。一開始吹中國第一,吹著吹著就變成世界第一。就算你真的是世界第

IDEA Spark 讀Hbase 報錯處理:

ado htable client ets rim ogg expec zookeep ati SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 17/11/19 14:25:57 E

Apache ——飛機的戰鬥機

Apche httpd Apache 在互聯網中瀏覽網頁都需要使用HTTP(超文本傳輸協議),而Apache只是HTTP協議的一個實現程序 , HTTPD作為其主程序運行,目前常用有兩個版本CentOS6(httpd 2.2)、CentOS7 (httpd 2.4)。 一次完整的

Apache Zeppelin是什麽?

ron 動態表 frame apache2 sql 到你 cal notebook r語 Apache Zeppelin提供了web版的類似ipython的notebook,用於做數據分析和可視化。背後可以接入不同的數據處理引擎,包括spark, hive, tajo等,

建站初學者必知的wordpress在Nginx/Apache/IIS的偽靜態規則

.html SM max-width ext 定義 ima UC rule margin 在搭建好wordpress博客以後,我都是先讓大家配置好文章的url格式為/%postname%.html這樣的自定義結構的。比如是阿裏雲的虛擬主機這樣配置以後,文章頁面還是可以打開的

楊澤業:wordpress在Nginx/Apache/IIS的偽靜態規則

none 圖片 ati normal 12px lnmp -h sch from 在搭建好wordpress博客以後,我都是先讓大家配置好文章的url格式為/%postname%.html這樣的自定義結構的。比如是阿裏雲的虛擬主機這樣配置以後,文章頁面還是可以打開的,但是有

曲速未來 訊息:使用汙點跟蹤在Apache Struts發現OGNL注入

區塊鏈安全諮詢公司 曲速未來 表示:在這篇文章中,詳細地介紹漏洞的發現,並準確顯示遠端使用者從http請求輸入的結果如何被評估為OGNL表示式。   Struts的架構   首先,我將簡要介紹Struts如何處理http請求。下圖所示: ​ ​

Apache Kylin使用Count Distinct

雷頓學院大資料:http://www.leidun.site/ 在OLAP多維分析中,Count Distinct(去重計數)是一種非常常用的指標度量,比如一段時間內的UV、活躍使用者數等等;從1.5.3開始,Apache Kylin提供了兩種Count Distinct計算方式,一種是近

[Flink基礎]--Apache Flink的廣播狀態實用指南

感謝英文原文作者:https://data-artisans.com/blog/a-practical-guide-to-broadcast-state-in-apache-flink Apache Flink中的廣播狀態實用指南 從版本1.5.0開始,Apache FlinkⓇ具

shellspark-sql語句除錯、執行方式

1.命令方式執行sparksql查詢 SQL="use mydatatable;;select count(1) from tab_videousr_onlne where p_regiion=101 and p_date='2017-04-05' and p_hour=21;" /home

記錄使用Apache zeppelin安裝和使用

今天瞭解了一下Apache zeppelin這個工具,在此記錄一下:(其實官方文件部署和配置很詳細) 1、官網下載專案壓縮包:http://zeppelin.apache.org 2、如果需要設定埠的話,需要修改/conf/zeppelin-site.xml 具體命令:cp zeppelin

zeppelin連線hive和impala

連線Hive 新建interpreter  default.driver = org.apache.hive.jdbc.HiveDriver default.url = jdbc:hive2://hostname:10000 default.user = zeppelin

【Python】WindowsPython直譯器下載安裝及安裝細節

Python直譯器下載 官網地址: https://www.python.org/ 選擇適合自己的版本 Python直譯器安裝 第一步: 選擇install Now, 會安裝在預設路徑很深的位置。不建議選擇。 選擇 第二個 安裝, 勾選安裝到環境變數path

Apache服務的ssl加密(企業級)

SSL SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網路通訊提供安全及資料完整性的一種安全協議。TLS與SSL在傳輸層對網路連線進行加密。 Secure Socket Layer,為N