我正在运行spark中的wordcount java程序。如何从命令行运行它。
发布于 2014-10-24 03:21:10
选择say:https://github.com/holdenk/fastdataprocessingwithsparkexamples/tree/master/src/main/scala/pandaspark/examples中的单词计数示例。按照以下步骤创建fat jar文件:
mkdir example-java-build/; cd example-java-build
mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DgroupId=spark.examples \
-DartifactId=JavaWordCount \
-Dfilter=org.apache.maven.archetypes:maven-archetype-quickstart
cp ../examples/src/main/java/spark/examples/JavaWordCount.java
JavaWordCount/src/main/java/spark/examples/JavaWordCount.java您可以添加相关的spark-core和spark示例依赖项。确保您拥有基于您的spark版本的依赖项。我使用的是spark 1.1.0,所以我有相关的依赖项。我的pom.xml看起来像这样:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-examples_2.10</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>使用mvn构建jar文件。
cd example-java-build/JavaWordCount
mvn package这将在目标目录中创建您的fat jar文件。将jar文件复制到服务器上的任何位置。进入你的spark的bin文件夹。(在我的例子中:/root/spark-1.1.0-bin-hadoop2.4/bin)
提交spark作业:我的作业如下所示:
./spark-submit --class "spark.examples.JavaWordCount" --master yarn://myserver1:8032 /root/JavaWordCount-1.0-SNAPSHOT.jar hdfs://myserver1:8020/user/root/hackrfoe.txt这里--class是:应用程序的入口点(例如org.apache.spark.examples.SparkPi) -- master :集群的主URL (例如spark://23.195.26.187:7077)最后一个参数是您为程序选择的任何文本文件。
输出应该是这样的,给出文本文件中所有单词的字数。
in: 17
sleeping.: 1
sojourns: 1
What: 4
protect: 1
largest: 1
other: 1
public: 1
worst: 1
hackers: 12
detected: 1
from: 4
and,: 1
secretly: 1
breaking: 1
football: 1
answer.: 1
attempting: 2
"hacker: 3希望这能有所帮助!
发布于 2014-08-15 02:37:25
首先需要使用Maven (遵循示例here)将Java程序构建为一个独立的应用程序,然后使用submitting your application -submit进行提交。
https://stackoverflow.com/questions/22252534
复制相似问题