>>分享SPSS,Hadoop等大数据处理技术,以及分布式架构以及集群系统的构建 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 27306 个阅读者 刷新本主题
 * 贴子主题:  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面向对象编程-->Swing组件(上)
  JavaWeb开发-->在Web应用中访问Web服务
  JSP与Hibernate开发-->立即检索和延迟检索策略
  Java网络编程-->基于UDP的数据报和套接字
  精通Spring-->虚拟DOM和render()函数
  Vue3开发-->Vue简介
  springboot的缓存技术
  实时统计每天pv,uv的sparkStreaming结合redis结果存入mysql供...
  mongodb与redis与Hbase比较
  kafka+spark-streaming实时推荐系统性能优化笔记
  Nginx+Keepalived高可用集群
  MySQL 每秒 570000 的写入,如何实现
  SparkStreaming的实战案例-WordCount范例
  Hadoop2.6.5+centos7.5三节点大数据集群部署搭建
  SDN网络IPv6组播机制支持实时视频业务海量用户扩展
  如何设计实时数据平台(设计篇)-wx5c2da66615f74的博客
  大数据虚拟混算平台Moonbox配置指南
  大数据平台CDH搭建
  Docker部署Hadoop集群
  大数据采集、清洗、处理:使用MapReduce进行离线数据分析完整...
  数据科学最终迁移到云端的5个原因
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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