wordcount java分析_JavaWordCount

配置pom文件

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">

4.0.0

org.example

learning

1.0-SNAPSHOT

UTF-8

2.2.0

2.11.8

2.6.5

1.2.1

org.apache.spark

spark-core_2.11

${spark.version}

org.apache.spark

spark-sql_2.11

${spark.version}

org.apache.spark

spark-hive_2.11

${spark.version}

org.apache.spark

spark-streaming_2.11

${spark.version}

org.apache.hadoop

hadoop-common

${hadoop.version}

org.apache.hive

hive-exec

${hive.version}

mysql

mysql-connector-java

5.1.38

新建JavaWordCount

package spark;

import org.apache.spark.api.java.JavaPairRDD;

import org.apache.spark.api.java.JavaRDD;

import org.apache.spark.sql.SparkSession;

import scala.Tuple2;

import java.util.Arrays;

import java.util.List;

import java.util.regex.Pattern;

public class JavaWordCount {

private static final Pattern SPACE = Pattern.compile(" ");

public static void main(String[] args) {

SparkSession spark = SparkSession

.builder()

.master("local[*]")

.appName("WordCount")

.getOrCreate();

String paths = "D:\\workspace\\IdeaProjects\\learning\\src\\main\\resources\\word_count.txt";

JavaRDD lines = spark.read().textFile(paths).javaRDD();

JavaRDD words = lines.flatMap(s -> Arrays.asList(SPACE.split(s)).iterator());

JavaPairRDD ones = words.mapToPair(s -> new Tuple2<>(s, 1));

JavaPairRDD counts = ones.reduceByKey((i1, i2) -> (i1 + i2));

List> output = counts.collect();

for (Tuple2, ?> tuple : output) {

System.out.println(tuple._1() + ": " + tuple._2());

}

spark.stop();

}

}

在resources目录下新建log4j.properties和word_count.txt

log4j.properties文件

#

# Licensed to the Apache Software Foundation (ASF) under one or more

# contributor license agreements. See the NOTICE file distributed with

# this work for additional information regarding copyright ownership.

# The ASF licenses this file to You under the Apache License, Version 2.0

# (the "License"); you may not use this file except in compliance with

# the License. You may obtain a copy of the License at

#

# http://www.apache.org/licenses/LICENSE-2.0

#

# Unless required by applicable law or agreed to in writing, software

# distributed under the License is distributed on an "AS IS" BASIS,

# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

# See the License for the specific language governing permissions and

# limitations under the License.

#

# Set everything to be logged to the console

log4j.rootCategory=WARN, console

log4j.appender.console=org.apache.log4j.ConsoleAppender

log4j.appender.console.target=System.err

log4j.appender.console.layout=org.apache.log4j.PatternLayout

log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n

# Set the default spark-shell log level to WARN. When running the spark-shell, the

# log level for this class is used to overwrite the root logger's log level, so that

# the user can have different defaults for the shell and regular Spark apps.

log4j.logger.org.apache.spark.repl.Main=WARN

# Settings to quiet third party logs that are too verbose

log4j.logger.org.spark_project.jetty=WARN

log4j.logger.org.spark_project.jetty.util.component.AbstractLifeCycle=ERROR

log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO

log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO

log4j.logger.org.apache.parquet=ERROR

log4j.logger.parquet=ERROR

# SPARK-9183: Settings to avoid annoying messages when looking up nonexistent UDFs in SparkSQL with Hive support

log4j.logger.org.apache.hadoop.hive.metastore.RetryingHMSHandler=FATAL

log4j.logger.org.apache.hadoop.hive.ql.exec.FunctionRegistry=ERROR

word_count.txt文件

Give me the strength lightly to bear my joys and sorrows.

Give me the strength to make my love fruitful in service.

Give me the strength never to disown the poor or bend my knees before insolent might.

Give me the strength to raise my mind high above daily trifles.

And give me the strength to surrender my strength to thy will with love.

运行验证

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java清理垃圾_教你怎样用java编写垃圾文件清理软件! | 学步园

最近总是再想怎么样提高机器的运行速度&#xff0c;结果想到自己编写一个垃圾文件清理软件的想法&#xff0c;其实很简单&#xff0c;程序设计的关键是如何找到垃圾文件&#xff0c;具体的说就是如何扫描文件找到垃圾文件&#xff1a;我们编写下面一个类来扫描磁盘中的所有文件…

数据可视化demo_为更快读懂报表,我们将数据可视化了

将数据可视化后&#xff0c;即使是复杂难懂的数据也会瞬间变得简单易懂&#xff0c;难就难在怎么快速将海量数据中的复杂数据信息提取&#xff0c;不同场景下该用那种方式展示数据更直观易懂。而这些&#xff0c;在奥威BI数据可视化软件上都有了答案。在常用图表的基础上&#…

数据结构与算法分析c++第四版_数据结构与算法 - 时空复杂度分析

这周主要总结了时间复杂度的学习&#xff0c;跟小伙伴们分享下&#xff0c;欢迎指正。一、为何需要分析算法复杂度挺多同学本科都学习过数据结构和算法这门课&#xff0c;但是有没有想过这门课到底是解决什么问题&#xff1f;科学家设计这些数据结构和算法是要干嘛&#xff1f;…

java泰拉轴距_Java面向对象

Java面向对象什么是对象世界万物皆为对象&#xff0c;凡是能看得见摸得着的所以东西都叫对象。对象是由属性和行为组成&#xff0c;属性是对象所具有的特征&#xff0c;而行为是对象可以做的动作。>例如生活中常见的事物&#xff1a;汽车。汽车的品牌型号、颜色、轴距、车身…

python函数代码_如何显示Python函数的代码?

这有点老套&#xff0c;但是如果这是您经常要做的事情&#xff0c;您可以使用readline模块和函数修饰符。在class PrintableFunction(object):"""A class that contains a function and its start and end pointsin the readline history"""def …

mysql5.7 xtrabackup_MySQL 5.7 基于GTID建立运行主库的从库-xtrabackup+mysqldump

一.GTID innobackupex备份实现主从同步1)master备份innobackupex --defaults-file/etc/my.cnf --userroot --password123456 --parallel4 /backup2)拷贝到slave上&#xff0c;并prepare和copy backupinnobackupex --defaults-file/etc/my.cnf --apply-log --userroot --passwor…

swift for循环_Swift | 实战一个简单的素数计算器demo

Swift实战一个简单的素数计算器demo本期我们来介绍如何用storyboard来实现一个素数计算器demo&#xff0c;storyboard可以明确地知道界面上的组件与代码的关系&#xff0c;而且比起仅用代码写要方便不少。No.1制作一个简单的界面制作一个简单的界面我们首先要使用storyboard来绘…

java实验金额转换_java 数字金额转换中文金额

public static String digitUppercase(double n){String fraction[] {"角", "分"};String digit[] { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌&quo…

java文件传输连接方式_Java 学习笔记 网络编程 使用Socket传输文件 CS模式

Socket的简单认识Socket是一种面向连接的通信协议&#xff0c;Socket应用程序是一种C/S(Client端/Server端)结构的应用程序 Socket是两台机器间通信的端点。 Socket是连接运行在网络上的两个程序间的双向通讯端点。Socket通信原理Server服务端的输入流相当于Client客户端的输出…

如何给python升级_python升级后,如何给virtualenv里的python进行升级

我也碰到了这个问题&#xff0c;用brew升级python的时候忘记了备份&#xff0c;升级之后才发现pip也不能正常工作了&#xff0c;不过幸好找到了解决方法&#xff0c;重新安装几百兆的package实在是不能忍……先将虚拟环境中的部分文件删除cd rm .Pythonrm bin/pip{,2,2.7}rm bi…

创建线程的三种方法_Netty源码分析系列之NioEventLoop的创建与启动

前言前三篇文章分别分析了 Netty 服务端 channel 的初始化、注册以及绑定过程的源码&#xff0c;理论上这篇文章应该开始分析新连接接入过程的源码了&#xff0c;但是在看源码的过程中&#xff0c;发现有一个非常重要的组件&#xff1a;NioEventLoop&#xff0c;出现得非常频繁…

java彩票案例_java彩票例子

1.[代码]java彩票例子import java.util.HashSet; //自动过滤重复的集合import java.util.Random;public class LuckyTic {public static void main(String[] args) {// TODO Auto-generated method stubHashSet hs new HashSet();Random r new Random();int num r.nextInt()…

java正则表达式匹配xml标签_用正则表达式匹配HTML\XML等文件中的标签

测试用HTML源文件&#xff1a;View Code《完美世界&#xff1a;天界的召唤》缤纷圣诞总动员[ 中华网 1小时前]经过了平安夜和圣诞节&#xff0c;节日的气氛被推到了最高点&#xff01;《完美世界&#xff1a;天界的召唤》为玩家准备了精彩纷呈的圣诞节活动&#xff0c;而玩家也…

python cursor游标_第二十三天 python中游标的使用

游标(cursor)&#xff1a;系统为用户开通的一个数据缓冲区&#xff0c;用于存放SQL语句执行结果。用户使用的sql会逐一的在游标中获取记录&#xff0c;并赋值给主变量&#xff0c;交由Python进一步处理&#xff0c;一组主变量只能存放一条记录。例题&#xff1a;from T1 import…

python 列表比较不同物质的吸热能力_python列表里面根据一定的条件挑选元素

update:之前一版是错的&#xff0c;忽略了两层栈深还必须ticket、spce连续的要求换个解法&#xff0c;代码有些冗长#!/usr/bin/env python# -*- coding: utf-8 -*-def is_ticket(node):return node.startswith(ticket)def is_spec(node):return node.startswith(spec)def deal1…

java中arraycopy的用法_[jdk源码阅读系列]Java中System.arraycopy()的用法

本文转载&#xff0c;原文链接&#xff1a;3分钟了解Java中System.arraycopy的用法 - 伊万夫斯基 - 博客园 https://www.cnblogs.com/benjieqiang/p/11428832.html3分钟了解Java中System.arraycopy的用法System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复…

人工智能python小程序_Python:一个可以套路别人的python小程序

一个可以套路别人的python小程序~先简要介绍一下程序。程序是使用pycharm工具&#xff0c;python语言所写。程序包括客户端 client.py 和服务器端 server.py 两部分&#xff0c;利用了python中的socket包。咳咳&#xff0c;使用方法来了&#xff01;首先&#xff0c;你需要你和…

java spring hiberate_Java程序员:Spring Boot和Hibernate一起使用的技巧

Hibernate不需要多介绍&#xff0c;它是Java中最受欢迎的ORM。同样&#xff0c;Spring Boot是功能最强大且易于使用的框架。本文并不是描述一些关于Hibernate或Spring Boot的用法&#xff0c;因为有很多。相反&#xff0c;我们将研究同时使用它们时可能遇到的一些常见错误以及如…

postgresql 查询序列_RazorSQL for Mac(数据库工具查询) v9.0.9

RazorSQL Mac激活版是一款专门为mac用户推出的数据库管理软件&#xff0c;允许您从一个数据库工具查询&#xff0c;更新&#xff0c;导航和管理所有主要数据库&#xff01;软件特色RazorSQL 是一个非开源的功能非常强大数据库查询工具、SQL的编辑、数据库管理工具。支持通过 JD…

vsm特征提取java_文本特征提取方案汇总

文本特征提取方案汇总文本分析是机器学习算法的主要应用领域。但是&#xff0c;文本分析的原始数据无法直接丢给算法&#xff0c;这些原始数据是一组符号&#xff0c;因为大多数算法期望的输入是固定长度的数值特征向量而不是不同长度的文本文件。一、文本数据的表示模型​ 文本…