zoukankan      html  css  js  c++  java
  • 基于Spark1.3.0的Spark sql三个核心部分

    基于Spark1.3.0的Spark sql三个核心部分:

    1.可以架子啊各种结构化数据源(JSON,Hive,and Parquet)

    2.可以让你通过SQL,saprk内部程序或者外部攻击,通过标准的数据库连接(JDBC/ODBC)连接spark,比如一个商业智能的工具Tableau

    3.当你通过使用spark程序,spark sql提供丰富又智能的SQL或者regular Python/Java/Scala code,包括 join RDDS ,SQL tables ,使用SQL自定义用户函数

    以下资料参考自:http://blog.csdn.net/stark_summer/article/details/45843803

    在Spark中提供了一个JdbcRDD类,该RDD就是读取JDBC中的数据并转换成RDD,之后我们就可以

    对该RDD进行各种操作。我们先看看该类:

    JdbcRDD[T:ClassTag](sc:SparkContext,getConnection:()=>Connection,

    sql:String,lowerBound:Long,upperBound:Long,numPartitions:Int,

    mapRow:(ResultSet)=> T=JdbcRDD.resultSetToObjectArray _)

    1、getConnection 返回一个已经打开的结构化数据库连接,JdbcRDD会自动维护关闭。

    2、sql:是查询语句,次查询已经必须包含两处占位符?来作为分割数据库ResultSet的参数,

    例如:"select title,author from books where ?<=id and id<=?"

    3.lowerBound,upperBound,numPartitions:分别为第一、第二占位符,partition的个数。例如:给出lowebound 1,upperbound 20 numpartitions 2,则查询分别为(1,10,)与(11,20)

    4.mapRow是转换函数,将返回的ResultSet转换成RDD需要的单行数据,此处可以选择Array或其他,也可以是自定义的case class.默认的是讲ResultSet转换成一个Object数组。

  • 相关阅读:
    python基础
    目标文件格式
    PHP 计算每个月的最后一天
    学习应该专注于学习这件事上
    以 Composer 的方式在 PhpStorm 中添加代码审查工具 Code Sniffer
    开始在博客园写文章啦!
    Git 常用操作
    常用写作格式
    将公司的主要项目从eclipse迁移到android studio for mac环境(1)
    写随笔、博客的心情
  • 原文地址:https://www.cnblogs.com/jingblogs/p/5531560.html
Copyright © 2011-2022 走看看