scala

【赵强老师】什么是Spark SQL?

强颜欢笑 提交于 2020-08-04 22:15:41
一、Spark SQL简介 Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。 为什么要学习Spark SQL?我们已经学习了Hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢。所以Spark SQL的应运而生,它是将Spark SQL转换成RDD,然后提交到集群执行,执行效率非常快!同时Spark SQL也支持从Hive中读取数据。 二、Spark SQL的特点 无缝集成在Spark中,将SQL查询与Spark程序混合。Spark SQL允许您使用SQL或熟悉的DataFrame API在Spark程序中查询结构化数据。适用于Java、Scala、Python和R语言。 提供统一的数据访问,以相同的方式连接到任何数据源。DataFrames和SQL提供了一种访问各种数据源的通用方法,包括Hive、Avro、Parquet、ORC、JSON和JDBC。您甚至可以通过这些源连接数据。 支持Hive集成。在现有仓库上运行SQL或HiveQL查询。Spark SQL支持HiveQL语法以及Hive SerDes和udf,允许您访问现有的Hive仓库。 支持标准的连接

Bash: Split a file in linux in 10 pieces only by blank lines

余生颓废 提交于 2020-08-04 18:33:37
问题 I am currently working with some files to parse with a Scala app. The problem is that the files are too large so they always end up throwing an exception in the heap size (and I've tried with the max heap size I can and still no use). Now, the files looks like this: This is one paragraph for Scala to parse This is another paragraph for Scala to parse Yet another paragraph And so on. Basically I would like to take all this files and split them in 10 or 20 pieces each, but I have to be sure a

辛酸,面试蚂蚁Offer真实经历,从实习,到跳槽,到入职,成长

醉酒当歌 提交于 2020-08-04 16:34:12
实习 当年我还很愚昧,根本不知道很多大厂有实习招聘,直到大三要结束了,学校说: “同学们,你们大四没课,一定要实习啊!” 我才反应过来,喔,原来我要去找实习。 而且自己也从没规划过什么职业方向。我学的是软件工程,但我当时还真不知道自己未来的具体岗位。 安卓?IOS?我根本就没学过。 算法?学校的acm比赛上都没见过我的名字。 C++?大一的课程我早忘的烟消雾散了。 好像就Java Web还有些印象。 所以我实习时投的大多是java开发,当时学校组织了专门的实习招聘会。我晚上找了个自觉不错的简历模版,在招聘会时投简历。 我们的招聘会并没有一线大厂,大部分都是杭州的一些中小企业和创业公司。我当时还问负责招聘的老师: “老师老师,来咱学校的这些公司,有没有特别推荐的啊?” 老师: “阜博通不错。” 结果这家公司当天根本就没来,我回头又去阜博通网站投简历,也是石沉大海,当时觉得很惋惜。 有趣的是现在网上阜博通的口碑差的一逼。也不知道死没死,得亏当时也没去。 招聘会上大搜车也来了,当年大搜车刚从北京来杭州,还是刚创业阶段。我自己对车也比较喜爱,家里也有汽车相关的生意。 另外自己也喜欢创业公司,自觉加入创业公司,没多久说不定自己就是骨干员工,发家致富,指日可待。所以当时特中意大搜车,于是投了简历。 我还有好几个好朋友也投了搜车,后来我们也大多都被叫了过去面试。出乎意料的是,就我没过。

spark 双master 一直处于standby的异常情况

别说谁变了你拦得住时间么 提交于 2020-08-04 15:10:41
发现spark集群重启突然异常无法正常提供服务,两个master都没有人正常起来提供服务,不是防火墙规则导致的,不是因为更改端口导致的 1.异常情况: spark-master报错: 20/07/16 16:52:35 WARN ClientCnxn: Session 0x57355eb34540d0c for server hadoop5/"ip":7072, unexpected error, closing socket connection and attempting reconnect java.io.IOException: Packet len4588079 is out of range! at org.apache.zookeeper.ClientCnxnSocket.readLength(ClientCnxnSocket.java:112) at org.apache.zookeeper.ClientCnxnSocketNIO.doIO(ClientCnxnSocketNIO.java:79) at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:366) at org.apache.zookeeper.ClientCnxn$SendThread.run

Scala 中class、object、case class、case object 区别

六月ゝ 毕业季﹏ 提交于 2020-08-04 14:48:06
class、object、case class、case object区别 class 类似 Java 中的 class ; object Scala 不能定义静态成员,用定义单例对象代之; case class 被称为样例类,是一种特殊的类,常被用于模式匹配。 一、 class 和 object 关系: 1 . 单例对象不能带参数,类可以 2 . 对象可以和类名一样时, object 被称为伴生对象, class 被称为伴生类; 3 . 类和伴生对象可以相互访问其私有属性,但是它们必须在一个源文件当中; 4 . 类只会被编译,不会被执行。要执行,必须在 Object 中。 二、 case class 与 class 区别: 1 . 初始化的时候可以不用 new ,也可以加上,但是普通类必须加 new ; 2 . 默认实现了 equals 、 hashCode 方法; 3 . 默认是可以序列化的,实现了 Serializable ; 4 . 自动从 scala.Product 中继承一些函数 ; 5 . case class 构造函数参数是 public 的,我们可以直接访问; 6 . case class 默认情况下不能修改属性值; 7 . case class 最重要的功能,支持模式匹配,这也是定义 case class 的重要原因。 三、 case class 和 case

kafka安装

六眼飞鱼酱① 提交于 2020-08-04 09:38:56
1、下载解压 https://mirror.bit.edu.cn/apache/kafka/2.5.0/kafka_2.12-2.5.0.tgz 解压: > tar -xzf kafka_2.12-2.5.0.tgz > cd kafka_2.12-2.5.0 2、 启动ZooKeeper服务器。因为Kafka 使用了 ZooKeeper,所以需要先启动一个ZooKeeper服务器。 可以单独下载zookeeper安装启动,也可以通过与kafka打包在一起的便捷脚本来快速简单地创建一个单节点ZooKeeper实例。 通过与kafka打包在一起的便捷脚本来快速简单地创建一个单节点ZooKeeper实例 2.1 ) 配置ZooKeeper服务器 # 修改kafka_2.12-2.5.0/config/zookeeper.properties文件 dataDir=/Users/zhoulp/develop/kafka/zookeeperData # 数据目录 【window版】 dataDir=D:\kafka\zookeeperData # 数据目录 2.2 ) 启动ZooKeeper服务器 > ./bin/zookeeper-server-start.sh config/zookeeper.properties& 【window版】 D:\kafka_2.12-2.5.0\bin

sbt - object apache is not a member of package org

谁说我不能喝 提交于 2020-08-04 07:41:27
问题 I want to deploy and submit a spark program using sbt but its throwing error. Code: package in.goai.spark import org.apache.spark.{SparkContext, SparkConf} object SparkMeApp { def main(args: Array[String]) { val conf = new SparkConf().setAppName("First Spark") val sc = new SparkContext(conf) val fileName = args(0) val lines = sc.textFile(fileName).cache val c = lines.count println(s"There are $c lines in $fileName") } } build.sbt name := "First Spark" version := "1.0" organization := "in.goai

sbt - object apache is not a member of package org

限于喜欢 提交于 2020-08-04 07:39:12
问题 I want to deploy and submit a spark program using sbt but its throwing error. Code: package in.goai.spark import org.apache.spark.{SparkContext, SparkConf} object SparkMeApp { def main(args: Array[String]) { val conf = new SparkConf().setAppName("First Spark") val sc = new SparkContext(conf) val fileName = args(0) val lines = sc.textFile(fileName).cache val c = lines.count println(s"There are $c lines in $fileName") } } build.sbt name := "First Spark" version := "1.0" organization := "in.goai

What is the difference between Array and WrappedArray in Scala

吃可爱长大的小学妹 提交于 2020-08-04 02:28:17
问题 I'm a bit confused in terms of those 2 collections. I understand that Scala's Array calls Java API. In such a case, what's the role of a Wrapped Array (and its performance characteritics)? http://www.scala-lang.org/api/current/scala/collection/mutable/WrappedArray.html Thanks! 回答1: WrappedArray wraps an Array to give it extra functionality. It also have a bunch of types while array extends only serializable and cloneable, This allows an array to be wrapped so it can be used in places where

join datasets with different dimensions - how to aggregate data properly

ⅰ亾dé卋堺 提交于 2020-08-03 06:16:16
问题 I am working on a complex logic where I need to redistribute a quantity from one dataset to another dataset. This questions is a continuation of this question In the example below I am introducing several new dimensions. After aggregating and distributing all the quantities I am expecting the same total quantity however I have some differences. See the example below package playground import org.apache.log4j.{Level, Logger} import org.apache.spark.sql.SparkSession import org.apache.spark.sql