前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >14.4 Spark-SQL基于Cassandra数据分析编程实例

14.4 Spark-SQL基于Cassandra数据分析编程实例

作者头像
王小雷
发布2019-05-26 21:33:39
9230
发布2019-05-26 21:33:39
举报
文章被收录于专栏:王小雷王小雷

版权声明:本文为王小雷原创文章,未经博主允许不得转载 https://blog.csdn.net/dream_an/article/details/81058073

14.4 Spark-SQL基于Cassandra数据分析编程实例

本节主要内容:

Spark对Canssandra数据库数据的处理,通过Spark SQL对结构化数据进行数据分析。

  • 创建Gradle项目,引入依赖
  • 创建Spark Session连接
  • 写入Cassandra数据库
  • 读取Cassandra数据库
  • Spark注册SQL 临时视图执行Distinct操作

完整源码Spark2Cassandra.java

完整项目源码

14.3.1 引入依赖

代码语言:javascript
复制
compile group: 'org.apache.spark', name: 'spark-core_2.11', version: '2.3.1'
compile group: 'org.apache.spark', name: 'spark-sql_2.11', version: '2.3.1'
compile group: 'com.datastax.spark', name: 'spark-cassandra-connector_2.11', version: '2.3.0'

14.3.2 创建Spark Session

代码语言:javascript
复制
SparkSession spark = SparkSession
        .builder()
        .appName("Java Spark SQL basic example")
//            .config("spark.some.config.option", "some-value")
        .config("spark.cassandra.connection.host", "192.168.56.110")
        .config("spark.cassandra.auth.username", "busuanzi")
        .config("spark.cassandra.auth.password", "busuanzi.org")
        .config("spark.cassandra.connection.port", "9042")
        .getOrCreate();

14.3.3 写入Cassandra数据库表

代码语言:javascript
复制
ds1.write()
        .format("org.apache.spark.sql.cassandra")
        .options(new HashMap<String, String>() {
            {
                put("keyspace", "busuanzi_org");
                put("table", "top_n_url");
            }
        }).mode("append").save();
这里写图片描述
这里写图片描述

查询Canssandra数据库

这里写图片描述
这里写图片描述

14.3.4 读取Cassandra数据库表

代码语言:javascript
复制
Dataset<Row> ds = spark.read()
        .format("org.apache.spark.sql.cassandra")
        .options(new HashMap<String, String>(){
            {
                put("keyspace", "busuanzi_org");
                put("table", "top_n_url");
            }
        }).load();
ds.show();
这里写图片描述
这里写图片描述

14.3.5 Spark SQL Distinct去重

将ds DataFrame注册为SQL临时视图

代码语言:javascript
复制
ds.createOrReplaceTempView("dsv");

Spark SQL去重

代码语言:javascript
复制
ds.select("username", "projects", "comment").distinct().show();
这里写图片描述
这里写图片描述

完整源码Spark2Cassandra.java

完整项目源码

14.3.6 在IDEA运行项目设置

这里写图片描述
这里写图片描述

源码获取 https://github.com/wangxiaoleiAI/big-data

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年07月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 14.4 Spark-SQL基于Cassandra数据分析编程实例
    • 14.3.1 引入依赖
      • 14.3.2 创建Spark Session
        • 14.3.3 写入Cassandra数据库表
          • 14.3.4 读取Cassandra数据库表
            • 14.3.5 Spark SQL Distinct去重
              • 14.3.6 在IDEA运行项目设置
              相关产品与服务
              数据库
              云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档