scala

Spark structured streaming - Filter Phoenix table by streaming dataset

走远了吗. 提交于 2020-08-10 19:04:06
问题 I am building a Spark structured streaming job that does the below, Streaming source, val small_df = spark.readStream .format("kafka") .load() small_df.createOrReplaceTempView("small_df") A dataframe - Phoenix load val phoenixDF = spark.read.format("org.apache.phoenix.spark") .option("table", "my_table") .option("zkUrl", "zk") .load() phoenixDF.createOrReplaceTempView("phoenix_tbl") Then, spark sql statement to join(on primary_key) with another small dataframe to filter records. val

Transactions With JSONCollection instead of BSONCollection

社会主义新天地 提交于 2020-08-10 18:57:05
问题 I have a problem to make Transaction via JSONCollection, I getting the following error: JsResultException(errors:List((,List(JsonValidationError(List(CommandError[code=14, errmsg=BSON field 'OperationSessionInfo.txnNumber' is the wrong type 'int', expected type 'long', doc: {"operationTime":{"$time":1596894245,"$i":5,"$timestamp":{"t":1596894245,"i":5}},"ok":0,"errmsg":"BSON field 'OperationSessionInfo.txnNumber' is the wrong type 'int', expected type 'long'","code":14,"codeName":

031. Kafka 入门及使用

两盒软妹~` 提交于 2020-08-10 18:17:08
1. 简介 Kafka 是 LinkedIn 使用 Scala 编写具有高水平扩展和高吞吐量的分布式消息系统。 Kafka 对消息保存时根据 Topic 进行归类,发送消息者称为 producer,消息接收者称为 consumer,此外 Kafka 集群有多个 Kafka 实例组成,每个实例(server)称为 broker。 无论是 Kafka 集群,还是 producer 和 consumer 都依赖于 zookeeper 来保证系统可用性,为集群保存一些 meta 信息。 2. 主流 MQ 对比 数据吞吐量:Kafka > RabbitMQ > ActiveMQ 数据准确性:RabbitMQ > ActiveMQ > Kafka ActiveMQ RabbitMQ Kafka 所属社区/公司 Apache Mozilla Public License Apache/LinkedIn 开发语言 Java Erlang Scala 支持的协议 OpenWire、STOMP、REST、XMPP、AMQP AMQP 仿 AMQP 事务 支持 不支持 0.11 开始支持 集群 支持(不擅长) 支持(不擅长) 支持 负载均衡 支持 支持 支持 动态扩容 不支持 不支持 支持(zk) 3. Kafka 主要特性 Kafka 是一个流处理平台,流平台需如下特性: 可发布和订阅流数据

Java收入不再最低,Python被TypeScript击败,2020全球开发者调查报告出炉

北慕城南 提交于 2020-08-10 11:58:11
Stack Overflow 2020 年度全球开发者调查报告出炉。报告显示,JavaScript 连续八年成为最常用的编程语言,而在最受开发者喜爱的编程语言榜单中,Python 排名第三,较去年下降一位,被 TypeScript 超越。另一值得关注的结果是,Java 语言的薪酬收入不再是最低了。 机器之心报道,参与:魔王、杜伟。 近日,Stack Overflow 发布了 2020 年度全球开发者报告。这是 Stack Overflow 发布的第十次年度开发者调查结果,在今年 2 月份有将近 65000 名开发者参与了此次调查。 与 2018 年 的 10 万参与者和 2019 年 的 9 万参与者相比,这次调查的参与者数量出现下降。Stack Overflow 表示「今年,我们不打算成为规模最大的调查,而是想使此次调查更具代表性,能够代表全球各地程序员的多样性。」 这次调查涉及开发者基本情况、技术、工作和社区多个方面。机器之心选取了该调查报告的核心内容进行介绍,完整报告参见以下链接: 报告地址: https:// insights.stackoverflow.com /survey/2020#community 调查结果概览 在过去五年的最受开发者喜爱的技术榜单中,Python 语言的排名持续上升。但今年 Python 被 TypeScript 击败,从去年的第二名掉到了第三

Scala函数式编程指南(一) 函数式思想介绍

一曲冷凌霜 提交于 2020-08-10 09:27:37
为什么我们需要学习函数式编程?或者说函数式编程有什么优势?这个系列中我会用 scala 给你讲述函数式编程中的优势,以及一些函数式的哲学。不懂 scala 也没关系,scala 和 java 是类似的,在每篇的开头我也会先说明这节中用到的 scala 语法。 为什么函数式编程这几年火起来 如 Python 一样,函数式编程(FP,即Functional Programming)也是近几年才逐渐为人们所知,但它并不是一个多么新的概念。 它拥有和面向对象编程(OOP)几乎等长的历史 。但纵观每件事的脉络,总是有原因的, 函数式编程这几年变火的原因是什么呢? 最主要的原因是摩尔定律的逐渐失效,计算机的发展道路趋向于多核 CPU 与分布式的方向。我们经常使用的面向对象编程的优势在于能够很好得对要解决的问题领域进行建模,但它在多线程编程环境下的同步阻塞调用,以及由此带来的线程安全问题,与函数式编程天然适合分布式并发编程的编程方式相比,当真相形见绌。而未来明显是大数据的时代,故而函数式编程只会越加重要,甚至未来可能是函数式编程的时代。 摩尔定律 :1965年,英特尔公司创始人戈登·摩尔提出,在至多10年内,集成电路的集成度会每两年翻一番,即摩尔定律。后来这个周期被缩短到了18个月。也就是说,每隔18个月,计算机等IT产品的性能就会翻一番;或者说相同性能的计算机等IT产品,每18个月价钱会降一半

Spark+Zookeeper搭建高可用Spark集群

末鹿安然 提交于 2020-08-10 06:40:14
Spark三种分布式部署方式比较 目前Apache Spark支持三种分布式部署方式,分别是standalone、spark on mesos和 spark on YARN, 详情参考 。 Spark standalone模式分布式部署 环境介绍 主机名 应用 tvm11 zookeeper tvm12 zookeeper tvm13 zookeeper、spark(master)、spark(slave)、Scala tvm14 spark(backup)、spark(slave)、Scala tvm15 spark(slave)、Scala 说明 依赖scala: Note that support for Java 7, Python 2.6 and old Hadoop versions before 2.6.5 were removed as of Spark 2.2.0. Support for Scala 2.10 was removed as of 2.3.0. Support for Scala 2.11 is deprecated as of Spark 2.4.1 and will be removed in Spark 3.0. zookeeper: Master结点存在单点故障,所以要借助zookeeper,至少启动两台Master结点来实现高可用

一文搞定Python正则表达式

纵然是瞬间 提交于 2020-08-10 04:46:12
本文对正则表达式和 Python 中的 re 模块进行详细讲解 很多人学习python,不知道从何学起。 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。 很多已经做案例的人,却不知道如何去学习更加高深的知识。 那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码! QQ群:1097524789 什么是正则表达式 正则表达式作用 元字符及含义 re模块详解 正则表达式修饰符 正则表达式实例 本文目录 什么是正则表达式 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。 正则表达式作用 通过使用正则表达式,可以: 测试字符串内的模式 例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。 替换文本 可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。 基于模式匹配从字符串中提取子字符串 可以查找文档内或输入域内特定的文本,例如通过爬虫从网页内容中直接需要的内容 元字符及含义 常用元字符 符号 含义 点. 匹配除换行符外的任意字符 星号* 匹配0个或者多个任意字符 问号? 匹配0个或者1个任意字符(非贪婪模式) ^ 开始位置

20.表示数值的字符串(剑指 Offer 题解Java版,面试遇到好多次)

时光怂恿深爱的人放手 提交于 2020-08-10 03:49:40
文章目录 题目描述 思路 思路一: 思路二: 题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。 true “+100” “5e2” “-123” “3.1416” “-1E-16” false “12e” “1a3.14” “1.2.3” “±5” “12e+4.3” 思路 思路一: 利用正则表达式,对字符串中的每个字符进行判断分析 package 剑指offer . 表示数值的字符串_20 ; /* 作者 :XiangLin 创建时间 :11/06/2020 16:45 文件 :Solution20.java IDE :IntelliJ IDEA */ /** * 表示数值的字符串 * 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 * 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 */ public class Solution20 { public static void main ( String [ ] args )

building a function to add checks to amazon deequ framework

大兔子大兔子 提交于 2020-08-10 01:07:31
问题 Using amazon deequ library I'm trying to build a function that takes 3 parameters, the check object, a string telling what constraint needs to be run and another string that provides the constraint criteria. I have a bunch of checks that I want to read from a mysql table. My intention is to iterate through all the checks that I get from the mysql table and build a check object using the function I described above and run the checks on a source dataframe Here a example of the amazon deequ

在对数据进行预处理时,应该怎样处理类别型特征?

两盒软妹~` 提交于 2020-08-10 00:46:03
02 类别型特征 场景描述 类别型特征(Categorical Feature)主要是指性别(男、女)、血型(A、B、AB、O)等只在有限选项内取值的特征。类别型特征原始输入通常是字符串形式,除了决策树等少数模型能直接处理字符串形式的输入,对于逻辑回归、支持向量机等模型来说,类别型特征必须经过处理转换成数值型特征才能正确工作。 知识点 序号编码(Ordinal Encoding)、独热编码(One-hot Encoding)、二进制编码(Binary Encoding) 问题 在对数据进行预处理时,应该怎样处理类别型特征? 分析与解答 ■ 序号编码 序号编码通常用于处理类别间具有大小关系的数据。例如成绩,可以分为低、中、高三档,并且存在“高>中>低”的排序关系。序号编码会按照大小关系对类别型特征赋予一个数值ID,例如高表示为3、中表示为2、低表示为1,转换后依然保留了大小关系。 ■ 独热编码 独热编码通常用于处理类别间不具有大小关系的特征。例如血型,一共有4个取值(A型血、B型血、AB型血、O型血),独热编码会把血型变成一个4维稀疏向量,A型血表示为(1, 0, 0, 0),B型血表示为(0, 1, 0, 0),AB型表示为(0, 0,1, 0),O型血表示为(0, 0, 0, 1)。对于类别取值较多的情况下使用独热编码需要注意以下问题。 (1)使用稀疏向量来节省空间。在独热编码下