Spark-案例实操

案例实操

  Spark Shell 仅在测试和验证我们的程序时使用的较多,在生产环境中,通常会在 IDE
中编制程序,然后打成 jar 包,然后提交到集群,最常用的是创建一个 Maven 项目,利用
Maven 来管理 jar 包的依赖。
 
 

1 编写 WordCount 程序

1)创建一个 Maven 项目 WordCount 并导入依赖
<?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.atlxl</groupId>
    <artifactId>spark01</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.11</artifactId>
            <version>2.1.1</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <version>3.2.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>WordCount</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>
2)编写代码
 
 
 
 
3)打包插件
 
 
 
 
4)打包到集群测试
 
 
 
 
 
 

2 本地调试

  本地 Spark 程序调试需要使用 local 提交模式,即将本机当做运行环
境,Master 和 Worker 都为本机。运行时直接加断点调试即可。如下:
创建 SparkConf 的时候设置额外属性,表明本地执行:
val conf = new SparkConf().setAppName("WC").setMaster("local[*]")
如果本机操作系统是 windows,如果在程序中使用了 hadoop 相关的
东西,比如写入文件到 HDFS,则会遇到如下异常:
 
 
  出现这个问题的原因,并不是程序的错误,而是用到了 hadoop 相关
的服务,解决办法是将附加里面的 hadoop-common-bin-2.7.3-x64.zip 解压
到任意目录。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/LXL616/p/11139436.html
今日推荐