>>分享SPSS,Hadoop等大数据处理技术,以及分布式架构以及集群系统的构建 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 26156 个阅读者 刷新本主题
 * 贴子主题:  spark读取redis数据(交互式,scala单机版,java单机版) 回复文章 点赞(0)  收藏  
作者:Jacky    发表时间:2020-03-21 15:15:42     消息  查看  搜索  好友  邮件  复制  引用

                                                                                                

spark读取redis数据(交互式,scala单机版,java单机版)

  • 交互式
第一步:向redis中添加数据

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

第二步:将jedis jar包放入~/lib目录下,开启spark服务

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

第三步:通过spark-shell读取redis数据,并做相应处理

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小    
  • scala单机版
package  com .test

import org .apache .spark .SparkConf
import org .apache .spark .SparkContext

import redis .clients .jedis .Jedis

object RedisClient {
  def main(args: Array[String]) {

    val conf = new SparkConf()
    conf .setAppName( "wow,my first spark app")
    conf .setMaster( "local")
    val sc = new SparkContext(conf)
    var jd = new Jedis( "172.171.51.154",  6379)
    var str = jd .get( "chengshi")
    var strList = str .split( ",")
    val a = sc .parallelize(strList,  3)
    val b = a .keyBy(_ .length)
    b .collect() .foreach(s => println(s._1 +  ":" + s._2))

    sc .stop()
  }

}

     输出结果

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小    
  • java单机版
package  com .dt .spark .SparkApps .cores ;

import java .io .FileNotFoundException ;
import java .io .IOException ;
import java .util .Arrays ;

import org .apache .spark .SparkConf ;
import org .apache .spark .api .java .JavaPairRDD ;
import org .apache .spark .api .java .JavaRDD ;
import org .apache .spark .api .java .JavaSparkContext ;
import org .apache .spark .api .java .function .PairFunction ;
import org .apache .spark .api .java .function .VoidFunction ;

import redis .clients .jedis .Jedis ;
import scala .Tuple2 ;

public class Redis {

    public static void main(String[] args) throws FileNotFoundException, IOException {

        SparkConf conf = new SparkConf() .setAppName( "Spark Read From Redis written by Java") .setMaster( "local") ;
        JavaSparkContext sc = new JavaSparkContext(conf) ;
        Jedis jedis = new Jedis( "172.171.51.154",  6379) ;

        String s = jedis .get( "chengshi") ;
        String[] strList = s .split( ",") ;

        JavaRDD<String> ch = sc .parallelize(Arrays .asList(strList),  4) ;

        JavaPairRDD<String, Integer> jp = ch .mapToPair(new PairFunction<String, String, Integer>() {

            public Tuple2<String, Integer>  call(String word) throws Exception {
                return new Tuple2<String, Integer>(word, word .length()) ;
            }
        }) ;
        jp .foreach(new VoidFunction<Tuple2<String, Integer>>() {

            public void  call(Tuple2<String, Integer> pairs) throws Exception {
                System .out .println(pairs._1() +  ":" + pairs._2()) ;
            }
        }) ;
        sc .close() ;

    }
}

     输出结果

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小
                                    
                                                                    
----------------------------
原文链接:https://blog.csdn.net/sundujing/article/details/51480085

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-03-21 15:15:42 重新编辑]
  Java面向对象编程-->Java语言中的修饰符
  JavaWeb开发-->Java语言中的修饰符
  JSP与Hibernate开发-->Servlet技术详解(Ⅱ)
  Java网络编程-->JSP中使用JavaBean(Ⅰ)
  精通Spring-->Java应用分层架构及软件模型
  Vue3开发-->数据库事务的并发问题的解决方案
  Spark客户端之Spark Submit的使用
  一文看懂Zookeeper
  害阿里程序员差点被当场开除的P0事故
  flume+spark streaming+redis完整篇
  Yarn资源调度系统架构与原理分析
  playbook自动安装kafka集群
  MapReduce自定义分区实现
  MapReduce实现自定义排序功能
  Hadoop安装过程
  合并两套环境的FastDFS数据
  Apacheの日志分割
  Spark RDD转换成DataFrame的两种方式
  大数据虚拟混算平台Moonbox配置指南
  Spark Thrift JDBCServer应用场景解析与实战案例
  大数据处理的基本流程
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。