摘要: 可参考官方文档 http://spark.apache.org/docs/2.2.0/sql-programming-guide.html 怎么读取外部数据 读:spark.read.format(format) 支持数据格式 内置:json、parquet、jdbc、csv(2.x) 外部:可访问 https://spark-packages.org/ ,这里面提供了很多外部数据源 ... 阅读全文
posted @ 2019-12-06 10:14 YanceyY 阅读(989) 评论(0) 推荐(0)
摘要: DateFrame产生背景 DateFrame不是Spark SQL提出的,早期是在R、Pandas语言就已经有了。 Spark RDD API 和 MapReduce API 给大数据生态圈提供基于通用语言(Java、Python、Scala等)的,并且简单易用的API。 Spark处理代码量很少 R/Pandas语言 局限性非常强 只支持单机处理 DateFrame概述 Da... 阅读全文
posted @ 2019-12-06 10:13 YanceyY 阅读(404) 评论(0) 推荐(0)
摘要: SQLContext的使用 创建一个Scala项目,创建一个主类SQLContextApp package com.yy.spark import org.apache.spark.{SparkConf, SparkContext} import org.apache.spark.sql.SQLContext /** * SQLContext的使用 * Spark 1.x使用 */ ... 阅读全文
posted @ 2019-12-03 17:53 YanceyY 阅读(1023) 评论(0) 推荐(0)
摘要: 为什么要用SQL 1)事实上的标准 MySQL、Oacle、DB2、SQL Server都是用的SQL操作,DBA、运维人员使用SQL门槛比较低 2)易学易用 SQL对于不懂的人学习较容易 3)受众面广 无论做Java、.Net、Php都需要与数据库交互,都需要编写SQL Hive: 类似于SQL的Hive QL语言,sql语句转换为MapReduce作业提交到集群运行 优点: ... 阅读全文
posted @ 2019-12-03 17:37 YanceyY 阅读(314) 评论(0) 推荐(0)
摘要: Spark官网和下载地址 官网 http://spark.apache.org/ spark-2.2.0源码下载链接 http://archive.apache.org/dist/spark/spark-2.2.0/spark-2.2.0.tgz spark-2.2.0安装包下载连接 http://archive.apache.org/dist/spark/spark-2.2.0/sp... 阅读全文
posted @ 2019-12-03 17:32 YanceyY 阅读(347) 评论(0) 推荐(0)
摘要: 文件读取 读取本地文件,读取csv文件,读取网络文件 package com.yy.scala import scala.io.Source /** * 文件读取 */ object FileApp extends App { val file = Source.fromFile("D:\\data 阅读全文
posted @ 2019-11-28 13:40 YanceyY 阅读(2663) 评论(0) 推荐(0)
摘要: 隐式转换 当Scala编译器进行类型匹配时,如果找不到合适的候选,那么隐式转化提供了另外一种途径来告诉编译器如何将当前的类型转换成预期类型。 隐式转换 将某一类型转换成预期类型,在方法前加关键字implicit,下面的例子就是将一个String类型的变量隐式的转换为Int类型。 String类型是不 阅读全文
posted @ 2019-11-28 13:39 YanceyY 阅读(183) 评论(0) 推荐(0)
摘要: 字符串的高级操作 插值和多行操作 package com.yy.scala object StringApp extends App{ //插值 字符串连接 val a = "world" println(s"Hello $a") //多行操作 Shift+" 按三次 Enter val b = " 阅读全文
posted @ 2019-11-28 13:34 YanceyY 阅读(416) 评论(0) 推荐(0)
摘要: 模式匹配 Java中 case when:对一个值进行条件判断,返回针对不同的条件进行不同的处理 Scala语法: 变量 match{ case value1 => 代码一 case vlaue2 => 代码二 ... case _ => 代码N } package com.yy.scala obj 阅读全文
posted @ 2019-11-28 13:32 YanceyY 阅读(123) 评论(0) 推荐(0)
摘要: 数组 package com.yy.scala object ArrayApp extends App { //定义定长一个数组 val a = new Array[String](10) //数组长度 a.length a(1) = "hello" //定义一个初始化数组 val b = Arra 阅读全文
posted @ 2019-11-28 11:31 YanceyY 阅读(309) 评论(0) 推荐(0)