文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

IDEA WordCount jar包上传spark是怎么调试及排错的

2023-06-02 15:07

关注

这篇文章给大家介绍IDEA WordCount jar包上传spark是怎么调试及排错的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Based on:

Mac os

Spark 2.4.3

(Spark running on  a standalone mode  reference blog :http://blog.itpub.net/69908925/viewspace-2644303/  )

scala 2.12.8

IDEA 2019

1  IDEA-File-Project Structure-Libarary-Scala SDK

IDEA WordCount jar包上传spark是怎么调试及排错的

select  version  2.11.12 

IDEA WordCount jar包上传spark是怎么调试及排错的

这处选择的版本需要跟spark scala运行版本一致,默认的是本机装的Scala版本2.12.8,spark上运行会报主类错误

2 新建project ,pom.xml添加依赖

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <groupId>com.ny.service</groupId>    <artifactId>scala517</artifactId>    <version>1.0</version>    <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->    <dependencies>        <!-- https://mvnrepository.com/artifact/org.scala-lang/scala-library -->        <!-- 以下dependency都要修改成自己的scala,spark,hadoop版本-->        <dependency>            <groupId>org.scala-lang</groupId>            <artifactId>scala-library</artifactId>            <version>2.11.12</version>        </dependency>    <dependency>        <groupId>org.apache.spark</groupId>        <artifactId>spark-core_2.11</artifactId>        <version>2.4.3</version>    </dependency>    </dependencies>    <build>        <!--程序主目录,按照自己的路径修改,如果有测试文件还要加一个testDirectory-->        <sourceDirectory>src/main/scala</sourceDirectory>        <plugins>            <plugin>                <groupId>org.scala-tools</groupId>                <artifactId>maven-scala-plugin</artifactId>                <version>2.15.2</version>                <executions>                    <execution>                        <goals>                            <goal>compile</goal>                            <goal>testCompile</goal>                        </goals>                    </execution>                </executions>            </plugin>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-shade-plugin</artifactId>                <version>2.4.3</version>                <executions>                    <execution>                        <phase>package</phase>                        <goals>                            <goal>shade</goal>                        </goals>                        <configuration>                            <filters>                                <filter>                                    <artifact>*:*</artifact>                                    <excludes>                                        <exclude>META-INF/*.SF</exclude>                                        <exclude>META-INF/*.DSA</exclude>                                        <exclude>META-INF/*.RSA</exclude>                                    </excludes>                                </filter>                            </filters>                            <!--<transformers>-->                            <!--<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">-->                            <!--<mainClass></mainClass>-->                            <!--</transformer>-->                            <!--</transformers>-->                        </configuration>                    </execution>                </executions>            </plugin>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-compiler-plugin</artifactId>                <configuration>                    <source>1.8</source>                    <target>1.8</target>                </configuration>            </plugin>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-jar-plugin</artifactId>                <configuration>                    <archive>                        <manifest>                            <addClasspath>true</addClasspath>                            <useUniqueVersions>false</useUniqueVersions>                            <classpathPrefix>lib/</classpathPrefix>                            <!--修改为自己的包名.类名,右键类->copy reference-->                            <mainClass>com.ny.service.WordCount</mainClass>                        </manifest>                    </archive>                </configuration>            </plugin>        </plugins>    </build></project>

scala library  选择spark中的Scala版本 2.11.12 也是目前支持的最近版本

org.apache.spark  也选择2.11   

否则会出现主类错误:

19/05/16 10:52:03 INFO BlockManagerInfo: Added broadcast_0_piece0 in memory on localhost:60010 (size: 22.9 KB, free: 366.3 MB)

19/05/16 10:52:03 INFO SparkContext: Created broadcast 0 from textFile at WordCount.scala:18

Exception in thread "main" java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: scala/runtime/java8/JFunction2$mcIII$sp

at com.nyc.WordCount$.main(WordCount.scala:24)

at com.nyc.WordCount.main(WordCount.scala)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

如何查看spark 中Scala版本号

进入路径:

/usr/local/opt/spark-2.4.3/jars

IDEA WordCount jar包上传spark是怎么调试及排错的

3 word count测试脚本

package com.ny.serviceimport org.apache.spark.{SparkConf, SparkContext}object WordCount{  def main(args: Array[String]): Unit = {    // 1 创建配置信息    val conf = new SparkConf().setAppName("wc")    // 2 创建spark context sc     val  sc = new SparkContext(conf)    // 3 处理逻辑    //读取文件    val lines = sc.textFile(args(0))    //压平    val words = lines.flatMap(_.split(" "))    //map    val k2v = words.map((_,1))    val results = k2v.reduceByKey(_+_)    //保存数据    results.saveAsTextFile(args(1))    // 4 关闭连接    sc.stop()  }}

4 打包

IDEA WordCount jar包上传spark是怎么调试及排错的    IDEA WordCount jar包上传spark是怎么调试及排错的

复制到spark家目录下,因为standalone模式所以没有启动Hadoop集群

nancylulululu:spark-2.4.3 nancy$ mv /Users/nancy/IdeaProjects/scala517/target/original-scala517-1.0.jar wc.jar 

5 spark submit 执行

bin/spark-submit \--class com.ny.service.WordCount \--master spark://localhost:7077 \./wc.jar \file:///usr/local/opt/spark-2.4.3/test/1test \file:///usr/local/opt/spark-2.4.3/test/out

如果是Hadoop file改为hdfs文件系统路径 

查看执行结果文件:

nancylulululu:out nancy$ ls_SUCCESSpart-00000part-00001nancylulululu:out nancy$ cat part-00000(scala,2)(hive,1)(mysql,1)(hello,5)(java,2)

关于IDEA WordCount jar包上传spark是怎么调试及排错的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯