scala学习-1-eclipse编写第一个程序unknown scala version problem

来源:互联网 发布:kakaotalk电脑版 mac 编辑:程序博客网 时间:2024/05/18 03:08

0。准备工作,安装scala-2.11.8(安装windows板的http://www.scala-lang.org/download/2.11.8.html),下载spark2.1.1-bin-hadoop-2.7

1。下载scala的集成开发环境eclipse
http://scala-ide.org/download/sdk.html

2。解压就可以使用

3。建立一个scala项目,把所有spark的jar包都拷贝进去
这里写图片描述
4。然后书写代码

import org.apache.spark._  import SparkContext._  import org.apache.spark.SparkContext  import org.apache.spark.sql.SparkSessionobject WordCount {     def main(args:Array[String]){     print("...")    val spark = SparkSession.builder.appName("Simple Application").master("local").getOrCreate()     val textFile = spark.read.textFile("E:/temp/data100000000-200000000-2000000000/crime_man1.txt")    /*  val result = textFile.flatMap(line => line.split(" "))          .map(word => (word, 1)).reduceByKey(_ + _) */      print(textFile.count)    spark.stop()   }}  

5.然后发现问题 unknown scala version problem
这里写图片描述

7。解决spark2.1.1使用scala2.11.8编译的,将scalaSDK换成2.11.8问题得到解决
这里写图片描述这里写图片描述

8.但是报错java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.,这个错误只要不连接hdfs上的文件进行测试,就没事

下载hadoo2.7.3的Hadoop.dll和winutils.exe 这两个文件,把hadoop.dll放到本地电脑的C:\windows/system32下,重启电脑,然后把winutils.exe文件放到服务器的/opt/hzjs/hadoop-2.7.3/bin/目录下,每个集群的机器都要放,把集群的hadoop拷贝一份放到本地E:\02-hadoop\hadoop-2.7.3\目录下,把里面的配置文件拷贝到项目上图中。

没有做这个winutils.exe会出现这样的问题

java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.    at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:379)    at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:394)    at org.apache.hadoop.util.Shell.<clinit>(Shell.java:387)    at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:80)    at org.apache.hadoop.security.SecurityUtil.getAuthenticationMethod(SecurityUtil.java:611)    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:273)    at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:261)

没有做这个hadoop.dll会出现这样的问题
Exception in thread “main” java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

原创粉丝点击