Version:Spark 3.0java 1.8.0_221Hbase 1.3.6Scala 2.12.11
1、首先是pom.xml,注释了一些东西,比如 不用 添加hbase-client和hbase-server,java中写MapReduce *** 作hbase需要这两个,scala写spark *** 作hbase不需要这两个,程序跑不起来,sc无法创建历悔拿。
2、将hbase的lib中的以下jar文件添前蔽加进来。(to IDEA小白 :可以新建一个文件夹保存这些jar文件,在IDEA中添加一个java的library指向这个文件夹)
3、将hbase中的配置文件hbase-site.xml添加到项目中的resources文件夹中
4、测试肢搭spark连接hbase
运行后的结果:
下面是一个用Scala和Spark实现的统计虚拟机中文件中a和b数量的程序:```scala
import org.apache.spark._
import org.apache.spark.SparkContext._
import org.apache.log4j._
object FileCharacterCount {
def main(args: Array[String]) {
Logger.getLogger("org").setLevel(Level.ERROR)
// 初始化SparkContext
val conf = new SparkConf().setAppName("FileCharacterCount").setMaster("local")
val sc = new SparkContext(conf)
// 读取文件并进行处理
val file = sc.textFile("path/to/your/file")
val aCount = file.flatMap(line =>line.toCharArray()).filter(c =>c == 'a').count()
val bCount = file.flatMap(line =>line.toCharArray()).filter(c =>升颂 c == 'b').count()
// 输出结果
println(s"文件中共有 $aCount 个好岩 a 和 $bCount 个 b.")
}
}
```
在这个程序中,我们首先创建了一个`SparkConf`对象,指定了应用程序的名称和运行模式。然后,我们使用该配置对象初始化了一个`SparkContext`对象。接下来,我们使用`textFile`方法从指定路径读取了文件,并使用`flatMap`方法将每一行转换为一个字吵袜郑符数组。然后,我们使用`filter`方法过滤出所有的'a'和'b'字符,并使用`count`方法统计它们的数量。最后,我们打印出结果。
请注意,您需要将程序中的`path/to/your/file`替换为您要处理的文件的实际路径。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)