【问题标题】:How to run a Spark-java program from command line [closed]如何从命令行运行 Spark-java 程序 [关闭]
【发布时间】:2014-04-10 17:52:11
【问题描述】:

我正在 spark 中运行 wordcount java 程序。如何从命令行运行它。

【问题讨论】:

标签: hadoop hdfs apache-spark


【解决方案1】:

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

希望这会有所帮助!

【讨论】:

  • +1 有据可查的答案。我还没有尝试过,但即使它有任何小错误,它也会有所帮助。如果有任何细节缺失,我会报告。
【解决方案2】:

您首先需要使用 Maven 将您的 Java 程序构建为独立应用程序(遵循示例 here),然后使用 spark-submit 构建 submitting your application

【讨论】:

    猜你喜欢
    • 2012-04-10
    • 2012-03-01
    • 1970-01-01
    • 2021-04-08
    • 2011-04-11
    • 1970-01-01
    • 2013-04-14
    相关资源
    最近更新 更多