prism

Flink的DataSource三部曲之二:内置connector

帅比萌擦擦* 提交于 2020-04-13 18:19:32
【今日推荐】:为什么一到面试就懵逼!>>> 本文是《Flink的DataSource三部曲》系列的第二篇,上一篇 《Flink的DataSource三部曲之一:直接API》 学习了StreamExecutionEnvironment的API创建DataSource,今天要练习的是Flink内置的connector,即下图的红框位置,这些connector可以通过StreamExecutionEnvironment的addSource方法使用: 今天的实战选择Kafka作为数据源来操作,先尝试接收和处理String型的消息,再接收JSON类型的消息,将JSON反序列化成bean实例; Flink的DataSource三部曲文章链接 《Flink的DataSource三部曲之一:直接API》 《Flink的DataSource三部曲之二:内置connector》 《Flink的DataSource三部曲之三:自定义》 源码下载 如果您不想写代码,整个系列的源码可在GitHub下载到,地址和链接信息如下表所示(https://github.com/zq2599/blog_demos): 名称 链接 备注 项目主页 https://github.com/zq2599/blog_demos 该项目在GitHub上的主页 git仓库地址(https) https://github.com

Flink的DataSource三部曲之一:直接API

末鹿安然 提交于 2020-04-13 18:10:15
【今日推荐】:为什么一到面试就懵逼!>>> 本文是《Flink的DataSource三部曲》系列的第一篇,该系列旨在通过实战学习和了解Flink的DataSource,为以后的深入学习打好基础,由以下三部分组成: 直接API:即本篇,除了准备环境和工程,还学习了StreamExecutionEnvironment提供的用来创建数据来的API; 内置connector:StreamExecutionEnvironment的addSource方法,入参可以是flink内置的connector,例如kafka、RabbitMQ等; 自定义:StreamExecutionEnvironment的addSource方法,入参可以是自定义的SourceFunction实现类; Flink的DataSource三部曲文章链接 《Flink的DataSource三部曲之一:直接API》 《Flink的DataSource三部曲之二:内置connector》 《Flink的DataSource三部曲之三:自定义》 关于Flink的DataSource 官方对DataSource的解释:Sources are where your program reads its input from,即DataSource是应用的数据来源,如下图的两个红框所示: DataSource类型 对于常见的文本读入

linux中以A开头的函数使用方式历程及详解

浪尽此生 提交于 2020-04-13 16:56:17
【今日推荐】:为什么一到面试就懵逼!>>> A开头的 Linux C 函数 abort 异常终止程序 abort 函数在调用的时候,会触发 SIGABRT 信号 # include <stdlib.h> # include <signal.h> # include <stdio.h> # include <unistd.h> static void signalHandler ( int sig ) ; // 信号处理函数 void signalHandler ( int sig ) { if ( sig == SIGABRT ) //对应ctrl+c { printf ( "abort 函数被调用,触发SIGABRT信号量 。\n" ) ; } } //以下是主函数 int main ( int argc , char * argv [ ] ) { signal ( SIGABRT , signalHandler ) ; //注册SIGINT对应的处理函数 abort ( ) ; printf ( "程序走不到这里。\n" ) ; return 0 ; } abs 对整数求绝对值的函数 # include <stdlib.h> # include <signal.h> # include <stdio.h> # include <unistd.h> /* ┌───────────

POJ1330 Nearest Common Ancestors【LCA】

微笑、不失礼 提交于 2020-04-13 16:53:53
【今日推荐】:为什么一到面试就懵逼!>>> Nearest Common Ancestors Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 40900 Accepted: 20173 Description A rooted tree is a well-known data structure in computer science and engineering. An example is shown below: In the figure, each node is labeled with an integer from {1, 2,…,16}. Node 8 is the root of the tree. Node x is an ancestor of node y if node x is in the path between the root and node y. For example, node 4 is an ancestor of node 16. Node 10 is also an ancestor of node 16. As a matter of fact, nodes 8, 4, 10, and 16 are the ancestors of node 16.

Python如何简单地将打印输出重定向到TXT文件,并为每个重定向创建一个新行(python2, python3兼容)

妖精的绣舞 提交于 2020-04-13 16:49:04
【今日推荐】:为什么一到面试就懵逼!>>> 如果使用Python2.5或更早版本,请打开文件,然后在重定向中使用file对象: log = open ( "c:\\goat.txt" , "w" ) print >>log , "test" 如果使用Python2.6或2.7,可以使用print作为函数: from __future__ import print_function log = open ( "c:\\goat.txt" , "w" ) print ( "test" , file = log ) 如果使用Python3.0或更高版本,则可以省略未来的导入。 如果要全局重定向打印语句,可以设置sys.stdout: import sys sys .stdout = open ( "c:\\goat.txt" , "w" ) print ( "test sys.stdout" ) 来源: oschina 链接: https://my.oschina.net/u/4285706/blog/3233000

STL之迭代器(Iterator)

左心房为你撑大大i 提交于 2020-04-13 14:59:58
【今日推荐】:为什么一到面试就懵逼!>>> 目录 一、迭代器是什么? 1.1、本质 1.2、作用 1.3、迭代器与指针 1.4、迭代器类别 1.4.1、5种迭代器的关系 二、Traits编程技法 2.1、引子 2.2、Traits编程技法 三、迭代器相应类型 四、具体迭代器示例 五、迭代器、容器和算法 一、迭代器是什么? 1.1、本质 迭代器本质上是什么?当然,任何一种特定的迭代器都是某种类型的对象。不过,迭代器的类型非常多,毕竟每个迭代器都是与某个特定容器类型相关联的。它需要保存一些必要的信息,以便我们对容器执行某些特定的任务。因此,有多少种容器就有多少种迭代器,有多少种特殊要求就有多少种迭代器。 1.2、作用 STL的中心思想在于:将数据容器和算法分开,彼此独立设计,最后再以一帖胶着剂将它们撮合在一起。这个胶着剂就是迭代器。反过来,也可以说迭代器机制是为了最小化算法与所操作的数据结构间的依赖性: 1.3、迭代器与指针 迭代器是一种行为类似指针的对象,迭代器提供了间接访问的操作(如解引用操作*)和移动到新元素的操作(例如,++操作移动到下一个元素)。 迭代器并未实现为指针,它们是所谓的“泛型指针”。你甚至可以反过来思考它,由于迭代器是泛型的,这意味着指针是迭代器,在任何可以使用迭代器的地方,都可以使用指针。 1 从实现的角度来看,迭代器是一种将operator*、operator

【笔记】Vue Element+Node.js开发企业通用管理后台系统——前端框架搭建

爱⌒轻易说出口 提交于 2020-04-13 13:37:41
【今日推荐】:为什么一到面试就懵逼!>>> 文章目录 一、项目初始化 二、项目精简 三、项目配置 源码调试 四、项目结构 前端框架搭建 | 「小慕读书」管理后台 一、项目初始化 vue-element-admin mkdir aimooc-book-admin-dev cd aimooc-book-admin-dev git clone https://github.com/PanJiaChen/vue-element-admin cd vue-element-admin cnpm i npm run dev 报错:Cannot find module ‘core-js/modules/es6.regexp.constructor’ 解决:cnpm i -D core-js@2 二、项目精简 删除 src/views 下的源码,保留: dashboard:首页 error-page:异常页面 login:登录 redirect:重定向 对 src/router/index 进行相应修改 删除 /* Router Modules */ 下面的4条import 删除如下相关路由: documentation guide profile permission page directive role icon componentsRouter,chartsRouter

关于解决Ubuntu16.04中pip和pip3同时指向Python3.5的问题

谁说胖子不能爱 提交于 2020-04-13 11:36:06
【今日推荐】:为什么一到面试就懵逼!>>> 关于解决Ubuntu16.04中pip和pip3同时指向Python3.5的问题 作为一名ubunut小白,这是我学习将近一年Linux之后,第一次写blog,有不正确,不详细的地方欢迎大家指出。 这是我看了很多大神写的blog之后,针对pip和pip3同时指向一个Python版本这一问题,做出的总结(因为没有保存之前大神的链接,所以没有附上原文的链接,原作者看到的话,可以联系我加上): 首先,在终端查询自己的pip或pip3是否指向了同一个Python版本: pip -V 或 pip3 -V 我两个pip显示的都是 pip 19.2.3 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5) 这表明pip和pip3同时指向Python3.5 此时不用更新或是卸载你的pip或pip3(亲测没用),只需要按着下面的指令改一份pip文件中的语句即可 再啰嗦一句:通俗的来说,pip对应的是Python2.7;pip3对应的是Python3.X。 指令如下: which pip #我的显示如下: #/usr/local/bin/pip vim /usr/local/bin/pip 之后你可以看到打开的文件是这样的: 说一下我遇到的问题: 我无法编辑里面的内容,需要先更改文件的权限

关于解决Ubuntu16.04中pip和pip3同时指向Python3.5的问题

故事扮演 提交于 2020-04-13 10:27:28
【今日推荐】:为什么一到面试就懵逼!>>> 关于解决Ubuntu16.04中pip和pip3同时指向Python3.5的问题 作为一名ubunut小白,这是我学习将近一年Linux之后,第一次写blog,有不正确,不详细的地方欢迎大家指出。 这是我看了很多大神写的blog之后,针对pip和pip3同时指向一个Python版本这一问题,做出的总结(因为没有保存之前大神的链接,所以没有附上原文的链接,原作者看到的话,可以联系我加上): 首先,在终端查询自己的pip或pip3是否指向了同一个Python版本: pip -V 或 pip3 -V 我两个pip显示的都是 pip 19.2.3 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5) 这表明pip和pip3同时指向Python3.5 此时不用更新或是卸载你的pip或pip3(亲测没用),只需要按着下面的指令改一份pip文件中的语句即可 再啰嗦一句:通俗的来说,pip对应的是Python2.7;pip3对应的是Python3.X。 指令如下: which pip #我的显示如下: #/usr/local/bin/pip vim /usr/local/bin/pip 之后你可以看到打开的文件是这样的: 说一下我遇到的问题: 我无法编辑里面的内容,需要先更改文件的权限

一个HashMap跟面试官扯了半个小时

岁酱吖の 提交于 2020-04-13 08:48:24
一个HashMap能跟面试官扯上半个小时 《安琪拉与面试官二三事》系列文章 一个HashMap能跟面试官扯上半个小时 一个synchronized跟面试官扯了半个小时 《安琪拉教鲁班学算法》系列文章 安琪拉教鲁班放技能之动态规划 前言 HashMap应该算是Java后端工程师面试的必问题,因为其中的知识点太多,很适合用来考察面试者的Java基础。 开场 面试官 : 你先自我介绍一下吧! 安琪拉 : 我是安琪拉,草丛三婊之一,最强中单(钟馗不服)!哦,不对,串场了,我是**,目前在–公司做–系统开发。 面试官 : 看你简历上写熟悉Java集合,HashMap用过的吧? 安琪拉 : 用过的。(还是熟悉的味道) 面试官 : 那你跟我讲讲HashMap的内部数据结构? 安琪拉 : 目前我用的是JDK1.8版本的,内部使用数组 + 链表红黑树; 安琪拉 : 方便我给您画个数据结构图吧: 面试官 : 那你清楚HashMap的数据插入原理吗? 安琪拉 : 呃[做沉思状]。我觉得还是应该画个图比较清楚,如下: 判断数组是否为空,为空进行初始化; 不为空,计算 k 的 hash 值,通过 (n - 1) & hash 计算应当存放在数组中的下标 index; 查看 table[index] 是否存在数据,没有数据就构造一个Node节点存放在 table[index] 中; 存在数据