1. 程式人生 > >在叢集上執行python編寫的spark應用程式(過程記錄)

在叢集上執行python編寫的spark應用程式(過程記錄)

啟動hadoop

[email protected]:/usr/local/hadoop-2.7.5/sbin#./start-all.sh

This script is Deprecated. Instead use start-dfs.shand start-yarn.sh

Starting namenodes on [master]

master: starting namenode, logging to/usr/local/hadoop-2.7.5/logs/hadoop-root-namenode-master.out

slave02: starting datanode, logging to/usr/local/hadoop-2.7.5/logs/hadoop-root-datanode-slave02.out

slave01: starting datanode, logging to/usr/local/hadoop-2.7.5/logs/hadoop-root-datanode-slave01.out

Starting secondary namenodes [0.0.0.0]

0.0.0.0: starting secondarynamenode, logging to/usr/local/hadoop-2.7.5/logs/hadoop-root-secondarynamenode-master.out

starting yarn daemons

starting resourcemanager, logging to/usr/local/hadoop-2.7.5/logs/yarn-root-resourcemanager-master.out

slave02: starting nodemanager, logging to/usr/local/hadoop-2.7.5/logs/yarn-root-nodemanager-slave02.out

slave01: starting nodemanager, logging to/usr/local/hadoop-2.7.5/logs/yarn-root-nodemanager-slave01.out

[email protected]:/usr/local/hadoop-2.7.5/sbin#

啟動spark

[email protected]:/usr/local/spark/sbin# ./start-all.sh

starting org.apache.spark.deploy.master.Master,logging to/usr/local/spark/logs/spark-root-org.apache.spark.deploy.master.Master-1-master.out

slave01: starting org.apache.spark.deploy.worker.Worker,logging to/usr/local/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-slave01.out

slave02: startingorg.apache.spark.deploy.worker.Worker, logging to/usr/local/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-slave02.out

slave01: failed to launchorg.apache.spark.deploy.worker.Worker:

slave01: full log in/usr/local/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-slave01.out

slave02: failed to launchorg.apache.spark.deploy.worker.Worker:

slave02: full log in/usr/local/spark/logs/spark-root-org.apache.spark.deploy.worker.Worker-1-slave02.out

[email protected]:/usr/local/spark/sbin#

檢視執行情況

[email protected]:/usr/local/spark/sbin#jps

3042 Master

3124 Jps

2565 NameNode

565ResourceManager

2758SecondaryNameNode

[email protected]:/usr/bin#jps

1152 Jps

922 NodeManager

812 DataNode

1084 Worker

[email protected]:/usr/local/spark/python/lib#jps

993 Worker

721 DataNode

1061 Jps

831 NodeManager

檢視web介面


在宿主機(即在安裝docker的虛擬機器中),開啟瀏覽器,輸入master的IP:8080檢視,此時宿主機是可以訪問docker中的容器的

執行python程式

[email protected]:~/pysparkfile#python3 text.py

Setting defaultlog level to "WARN".

To adjustlogging level use sc.setLogLevel(newLevel).

SLF4J: Classpath contains multiple SLF4J bindings.

SLF4J: Foundbinding in[jar:file:/usr/local/spark/jars/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Foundbinding in [jar:file:/usr/local/hadoop-2.7.5/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Actualbinding is of type [org.slf4j.impl.Log4jLoggerFactory]

18/04/2207:50:11 WARN util.NativeCodeLoader: Unable to load native-hadoop library foryour platform... using builtin-java classes where applicable

Lines with a:61, Lines with b: 27 

檢視web介面並沒有什麼變化

啟動pyspark

[email protected]:/usr/local/spark# pyspark

/usr/local/spark/bin/pyspark: line 53: python:command not found

Python 3.5.2 (default, Nov 23 2017, 16:37:01)

[GCC 5.4.0 20160609] on linux

Type "help", "copyright","credits" or "license" for more information.

Setting default log level to "WARN".

To adjust logging level usesc.setLogLevel(newLevel).

SLF4J: Class path contains multiple SLF4J bindings.

SLF4J: Found binding in[jar:file:/usr/local/spark/jars/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Found binding in[jar:file:/usr/local/hadoop-2.7.5/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Actual binding is of type[org.slf4j.impl.Log4jLoggerFactory]

18/04/22 07:53:12 WARN util.NativeCodeLoader:Unable to load native-hadoop library for your platform... using builtin-javaclasses where applicable

Welcome to

     ____              __

     /__/__  ___ _____/ /__

    _\ \/ _\/ _ `/ __/  '_/

   /__ /.__/\_,_/_/ /_/\_\   version 2.0.2

      /_/

Using Python version 3.5.2 (default, Nov 23 201716:37:01)

SparkSession available as 'spark'.

>>>

檢視web介面也沒有什麼變化

用yarn模式啟動pyspark

[email protected]:/usr/local/spark# pyspark --master yarn

/usr/local/spark/bin/pyspark: line 53: python:command not found

Python 3.5.2 (default, Nov 23 2017, 16:37:01)

[GCC 5.4.0 20160609] on linux

Type "help", "copyright","credits" or "license" for more information.

Setting default log level to "WARN".

To adjust logging level usesc.setLogLevel(newLevel).

SLF4J: Class path contains multiple SLF4J bindings.

SLF4J: Found binding in[jar:file:/usr/local/spark/jars/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Found binding in[jar:file:/usr/local/hadoop-2.7.5/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Actual binding is of type[org.slf4j.impl.Log4jLoggerFactory]

18/04/22 07:55:10 WARN util.NativeCodeLoader:Unable to load native-hadoop library for your platform... using builtin-javaclasses where applicable

18/04/22 07:55:29 WARN yarn.Client: Neitherspark.yarn.jars nor spark.yarn.archive is set, falling back to uploadinglibraries under SPARK_HOME.

18/04/22 08:02:33 ERROR spark.SparkContext: Errorinitializing SparkContext.

org.apache.spark.SparkException: Yarn applicationhas already ended! It might have been killed or unable to launch applicationmaster.

atorg.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.waitForApplication(YarnClientSchedulerBackend.scala:85)

atorg.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:62)

atorg.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:149)

at org.apache.spark.SparkContext.<init>(SparkContext.scala:497)

atorg.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:58)

atsun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

atsun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

atsun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

atjava.lang.reflect.Constructor.newInstance(Constructor.java:423)

atpy4j.reflection.MethodInvoker.invoke(MethodInvoker.java:240)

atpy4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)

at py4j.Gateway.invoke(Gateway.java:236)

atpy4j.commands.ConstructorCommand.invokeConstructor(ConstructorCommand.java:80)

at py4j.commands.ConstructorCommand.execute(ConstructorCommand.java:69)

atpy4j.GatewayConnection.run(GatewayConnection.java:214)

at java.lang.Thread.run(Thread.java:748)

18/04/22 08:02:33 WARNcluster.YarnSchedulerBackend$YarnSchedulerEndpoint: Attempted to requestexecutors before the AM has registered!

18/04/22 08:02:34 WARN metrics.MetricsSystem:Stopping a MetricsSystem that is not running

Traceback (most recent call last):

  File"/usr/local/spark/python/pyspark/shell.py", line 42, in<module>

    SparkContext._jvm.org.apache.hadoop.hive.conf.HiveConf()

TypeError: 'JavaPackage' object is not callable

During handling of the above exception, anotherexception occurred:

Traceback (most recent call last):

  File"/usr/local/spark/python/pyspark/shell.py", line 49, in<module>

    spark =SparkSession.builder.getOrCreate()

  File"/usr/local/spark/python/pyspark/sql/session.py", line 169, ingetOrCreate

    sc =SparkContext.getOrCreate(sparkConf)

  File"/usr/local/spark/python/pyspark/context.py", line 294, ingetOrCreate

   SparkContext(conf=conf or SparkConf())

  File"/usr/local/spark/python/pyspark/context.py", line 115, in __init__

    conf,jsc, profiler_cls)

  File"/usr/local/spark/python/pyspark/context.py", line 168, in _do_init

    self._jsc= jsc or self._initialize_context(self._conf._jconf)

  File"/usr/local/spark/python/pyspark/context.py", line 233, in_initialize_context

    returnself._jvm.JavaSparkContext(jconf)

  File "/usr/local/spark/python/lib/py4j-0.10.3-src.zip/py4j/java_gateway.py",line 1401, in __call__

  File"/usr/local/spark/python/lib/py4j-0.10.3-src.zip/py4j/protocol.py",line 319, in get_return_value

py4j.protocol.Py4JJavaError: An error occurredwhile calling None.org.apache.spark.api.java.JavaSparkContext.

: org.apache.spark.SparkException: Yarn applicationhas already ended! It might have been killed or unable to launch applicationmaster.

atorg.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.waitForApplication(YarnClientSchedulerBackend.scala:85)

atorg.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:62)

atorg.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:149)

at org.apache.spark.SparkContext.<init>(SparkContext.scala:497)

atorg.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:58)

atsun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

atsun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

atjava.lang.reflect.Constructor.newInstance(Constructor.java:423)

at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:240)

atpy4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)

at py4j.Gateway.invoke(Gateway.java:236)

atpy4j.commands.ConstructorCommand.invokeConstructor(ConstructorCommand.java:80)

at py4j.commands.ConstructorCommand.execute(ConstructorCommand.java:69)

atpy4j.GatewayConnection.run(GatewayConnection.java:214)

at java.lang.Thread.run(Thread.java:748)

>>>

>>>

執行應用程式

>>>from pyspark import SparkContext

>>> sc= SparkContext( 'local', 'test')

18/04/22 08:10:14WARN spark.SparkContext: Another SparkContext is being constructed (or threw anexception in its constructor).  This mayindicate an error, since only one SparkContext may be running in this JVM (seeSPARK-2243). The other SparkContext was created at:

org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:58)

sun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeMethod)

sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

java.lang.reflect.Constructor.newInstance(Constructor.java:423)

py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:240)

py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)

py4j.Gateway.invoke(Gateway.java:236)

py4j.commands.ConstructorCommand.invokeConstructor(ConstructorCommand.java:80)

py4j.commands.ConstructorCommand.execute(ConstructorCommand.java:69)

py4j.GatewayConnection.run(GatewayConnection.java:214)

java.lang.Thread.run(Thread.java:748)

>>>logData = sc.textFile(logFile, 2).cache()

>>>numAs = logData.filter(lambda line: 'a' in line).count()

>>>numBs = logData.filter(lambda line: 'b' in line).count()                   

>>>print('Lines with a: %s, Lines with b: %s' % (numAs, numBs))

Lines with a:61, Lines with b: 27

最終結果執行正確,但是在web介面顯示為failed,而且在執行過程出現很多警告和錯誤

出現的錯誤

18/04/22 07:55:10WARN util.NativeCodeLoader: Unable to load native-hadoop library for yourplatform... using builtin-java classes where applicable

18/04/2207:55:29 WARN yarn.Client: Neither spark.yarn.jars nor spark.yarn.archive isset, falling back to uploading libraries under SPARK_HOME.

18/04/2208:02:33 ERROR spark.SparkContext: Error initializing SparkContext.

對於第一個警告

檢視依賴庫,可以看到竟然是32位的庫

[email protected]:/usr/local/spark#cd ../hadoop-2.7.5/lib

[email protected]:/usr/local/hadoop-2.7.5/lib#ll

total 16

drwxr-xr-x 320415 systemd-journal 4096 Dec 16 01:12 ./

drwxr-xr-x 120415 systemd-journal 4096 Apr 18 08:10 ../

drwxr-xr-x 220415 systemd-journal 4096 Dec 16 01:12 native/

[email protected]:/usr/local/hadoop-2.7.5/lib#cd native/

[email protected]:/usr/local/hadoop-2.7.5/lib/native#ldd libhadoop.so.1.0.0

linux-vdso.so.1=>  (0x00007ffc05203000)

libdl.so.2 =>/lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd27ad52000)

libjvm.so =>not found

libc.so.6 =>/lib/x86_64-linux-gnu/libc.so.6 (0x00007fd27a988000)

/lib64/ld-linux-x86-64.so.2(0x00007fd27b175000)

檢視容器系統是32位還是64位

[email protected]:/usr/local/hadoop-2.7.5/lib/native#getconf LONG_BIT

64

檢視hadoop的位數

[email protected]:/usr/local/hadoop-2.7.5/lib/native#file libhadoop.so.1.0.0

libhadoop.so.1.0.0:ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked,BuildID[sha1]=612c3e78dc66f30ab64ef032524d92022eebe34e, not stripped

可以看到是64位的

修改

修改.bashrc

新增

exportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

exportHADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

別忘了source~/.bashrc

修改hadoop-env.sh

新增

exportHADOOP_HOME=/usr/local/hadoop-2.7.5/bin

exportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

exportHADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

繼續執行,在輸出資訊中看到

18/04/2208:52:27 DEBUG util.NativeCodeLoader:java.library.path=/usr/local/hadoop-2.7.5/bin/lib:/usr/local/hadoop-2.7.5/bin/lib/native

18/04/2208:52:27 WARN util.NativeCodeLoader: Unable to load native-hadoop library foryour platform... using builtin-java classes where applicable

檢視hadoop本地庫是否載入成功

[email protected]:/usr/local/spark/sbin#hadoop checknative

18/04/2209:12:13 DEBUG util.NativeCodeLoader: Trying to load the custom-builtnative-hadoop library...

18/04/2209:12:13 DEBUG util.NativeCodeLoader: Failed to load native-hadoop with error:java.lang.UnsatisfiedLinkError: no hadoop in java.library.path

18/04/2209:12:13 DEBUG util.NativeCodeLoader:java.library.path=/usr/local/hadoop-2.7.5/bin/lib/native

18/04/2209:12:13 WARN util.NativeCodeLoader: Unable to load native-hadoop library foryour platform... using builtin-java classes where applicable

18/04/2209:12:14 DEBUG util.Shell: setsid exited with exit code 0

Native librarychecking:

hadoop:  false

zlib:    false

snappy:  false

lz4:     false

bzip2:   false

openssl: false

18/04/2209:12:14 INFO util.ExitUtil: Exiting with status 1

[email protected]:/usr/local/spark/sbin#

上面顯示java.library.path=/usr/local/hadoop-2.7.5/bin/lib/native,明顯不存在這個路徑,是配置錯誤了,重新配置

在hadoop-env.sh中配置

exportHADOOP_COMMON_LIB_NATIVE_DIR=/usr/local/hadoop-2.7.5/lib/native

exportHADOOP_OPTS="-Djava.library.path=$HADOOP_COMMON_LIB_NATIVE_DIR"

修改後問題解決

[email protected]:/usr/local/spark/sbin#pyspark --master yarn-cluster

/usr/local/spark/bin/pyspark:line 53: python: command not found

Python 3.5.2(default, Nov 23 2017, 16:37:01)

[GCC 5.4.020160609] on linux

Type"help", "copyright", "credits" or"license" for more information.

Warning: Masteryarn-cluster is deprecated since 2.0. Please use master "yarn" withspecified deploy mode instead.

Error: Clusterdeploy mode is not applicable to Spark shells.

Run with --helpfor usage help or --verbose for debug output

Traceback (mostrecent call last):

  File"/usr/local/spark/python/pyspark/shell.py", line 38, in<module>

    SparkContext._ensure_initialized()

  File"/usr/local/spark/python/pyspark/context.py", line 243, in_ensure_initialized

    SparkContext._gateway = gateway orlaunch_gateway()

  File"/usr/local/spark/python/pyspark/java_gateway.py", line 94, inlaunch_gateway

    raise Exception("Java gateway processexited before sending the driver its port number")

Exception: Javagateway process exited before sending the driver its port number

>>>

注意

執行exportHADOOP_ROOT_LOGGER=DEBUG,console後,再啟動hadoop會輸出大量debug資訊

使用pyspark--master yarn --deploy-mode cluster出現錯誤

Error: Clusterdeploy mode is not applicable to Spark shells.

因為spark-shell作為一個與使用者互動的命令列,必須將Driver執行在本地,而不是yarn上。

第一個錯誤解決方法

在spark-env.sh中新增

exportLD_LIBRARY_PATH=/usr/local/hadoop-2.7.5/lib/native:$LD_LIBRARY_PATH //注意等號兩邊不要有空格

用yarn執行python程式

spark-submit--master yarn /root/pysparkfile/text.py

檢視你yarn叢集管理web介面


相關推薦

叢集執行python編寫spark應用程式過程記錄

啟動hadoop[email protected]:/usr/local/hadoop-2.7.5/sbin#./start-all.sh This script is Deprecated. Instead use start-dfs.shand start-ya

使用Intellij Idea編寫Spark應用程式Scala+SBT

對Scala程式碼進行打包編譯時,可以採用Maven,也可以採用SBT,相對而言,業界更多使用SBT。之前有篇部落格我們介紹了使用Intellij Idea編寫Spark應用程式(Scala+Maven),採用的是Maven工具。今天這篇部落格同樣是使用Intellij

一個Python編寫的小程式學生資訊管理系統

def printInfo(StudentData,StudentName): """ :param StudentData: :param StudentName: :return: """ student = StudentData[Stude

C#自身包含其他應用程式或者檔案並在執行時呼叫

       今天一個同事問我,怎麼把Dll動態連結庫直接嵌入到C#開發的應用程式本身,讓C#在釋出出去的時候,只是一個.exe的檔案,而不是一個資料夾。我仔細思索了一下這個問題。發現這個問題其實可以總結為一個比較普遍的問題,那就是怎樣把不同種類的檔案包含到C#開發的應用程式

一個自動管理學生資訊的控制檯應用程式C語言

  //學生統計 Ver 6.0 #include<stdlib.h> #include<stdio.h> #include<string.h> #include<math.h> #define MAXN_stu 35 #defin

最簡單的DRM應用程式 single-buffer

在上一篇DRM (Direct Rendering Manager) 學習簡介 中,我們學習了DRM的基本概念以及基本組成元素。從本篇開始,我將以示例程式碼的形式,給大家分享學習DRM驅動開發的整個學習過程。 在學習DRM驅動之前,應該首先了解如何使用DRM驅動

Building Modern Web Apps-構建現代的 Web 應用程式一些感想

視訊長度:1 小時左右 視訊作者:Scott Hunter 和 Scott Hanselman 視訊背景:Visual Studio 2013 最新版本釋出 視訊來源:MSDN - Channel 9 一些感想 這段視訊雖然標題設定為 Visual Studio 2013 最新版本釋出,但其實並沒有對

一個用Python編寫的股票資料滬深爬蟲和選股策略測試框架

一個股票資料(滬深)爬蟲和選股策略測試框架,資料基於雅虎YQL和新浪財經。 根據選定的日期範圍抓取所有滬深兩市股票的行情資料。 根據指定的選股策略和指定的日期進行選股測試。 計算選股測試實際結果(包括與滬深300指數比較)。 儲存資料到JSON檔案、CS

一個簡單的用ASP.NET/C#開發的元件化Web應用程式附原始碼

==============================================================================1)建立一個類來處理使用者登入,將該類編譯成一個裝配件(assembly),併發布到站點的bin目錄下。========

VisualVM監控遠端Linux主機上的JAVA應用程式JMX方式

我本地是Windows系統,Windows+r,輸入cmd,進入黑視窗輸入Jvisualvm,回車 同時彈出視覺化監控介面 VisualVM可以監控本地JVM執行情況,也可以監控遠端機器上的JVM執行情況。 本地監控無需配置,只要開啟某個JAVA程式就會自動的加入到本地

新思想、新技術、新架構——更好更快的開發現代ASP.NET應用程式續1

今天在@張善友和@田園裡的蟋蟀的部落格看到微軟“.Net社群虛擬大會”dotnetConf2015的資訊,感謝他們的真誠付出!真希望自已也能為中國的.NET社群貢獻綿薄之力。   上週星期天開通了部落格併發布了第一篇文章《新思想、新技術、新架構——更好更快的開發現代ASP.NET應用程式》,彙集了一些比較流

觸控式螢幕網站開發系列-ios web App應用程式ios meta

轉自 觸控式螢幕網站的開發其實現在來講比前幾年移動端網站開發好多了,觸控式螢幕裝置IOS、Android、BBOS6等系統自帶瀏覽器均為WEBKIT核心,這就說明PC上面尚未立行的HTML5 CSS3能夠運用在這裡,極大的減少了工作量和資料的缺乏。 這篇文章講述關於IO

idea執行JDBC程式碼介紹及其配置mysql版

跟著慕課網上學著打了一段java的JDBC的程式碼,然後一執行就gg,然後查原因查了幾個小時終於得出瞭解決方案 首先檢查一下是不是缺少mysql connecter,這個百度一下,來到mysql官網,選擇JDBC Driver for MySQL (Connector/J)

python簡單的購物車程式含程式碼

效果圖: ''' Created on 2017年9月4日 @author: len ''' product_list = [ ('Robot',200000), ('MacPr

Mac OS X下從服務程序中啟動另一個應用程式Cocoa Application

- (void) launchAppliction: (NSString*) appPath{ //appPath指向可執行檔案的絕對地址 NSTask *softTask = [[NSTask alloc]init]; [softTask setLaunchPath:appPath]; [softTask

測試 Dojo 應用程式詳解

【翻譯】https://github.com/dojo/framework/blob/master/docs/en/testing

Github一些好用的開源專案隨時記錄

1、RecyclerViewSwipeDismiss(滑動刪除recycleView) 專案地址 https://github.com/CodeFalling/RecyclerViewSwipeDismiss 使用:1、匯入libary檔案到專案中;            

編寫Spark程式並提交到叢集執行

編寫Spark應用程式 使用SCALA IDE,新建一個SCALA PROJECT,在專案下新建一個lib的資料夾,把spark的JAR包放進去,並且build path裡新增一下JAR包引用,然後新增一個SCALA類SparkRowCount,這個Spark

scala編寫Spark程式遠端提交到伺服器叢集執行

一.需要的軟體: eclipse 相應版本的scalaIDE 與叢集一樣的spark安裝包,主要是要用到spark中的jar包 與叢集一樣的hadoop安裝包 與hadoop版本對應的winutil.exe,hadoop.dll(只要版本差距不大不一樣也沒關

idea打包spark程式叢集執行過程(1)

第一步: 第二步: 第三步: 第四步: 第五步: spark-submit --master yarn --deploy-mode cluster --driver-memory 4G --executor-memory 5g --num