memsql kafka集成
memsql 可以加载s3,文件系统,kafka、hdfs 系统的数据,测试使用kafka
环境使用 docker-compose 运行,新版本的需要申请license,参考链接:
https://www.cnblogs.com/rongfengliang/p/9922041.html
环境准备
- docker-compose 文件
version: "3.7"
services:
memsql:
image: memsql/cluster-in-a-box
init: true
ports:
- "8080:8080"
- "3306:3306"
environment:
- "LICENSE_KEY=youlicense"
zk:
image: wurstmeister/zookeeper:3.4.6
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka:1.1.0
ports:
- "9092:9092"
depends_on:
- zk
environment:
KAFKA_ADVERTISED_HOST_NAME: kafka
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ZOOKEEPER_CONNECT: zk:2181
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'false'
KAFKA_DELETE_TOPIC_ENABLE: 'true'
KAFKA_BROKER_ID: 0
- 启动
docker-compose up -d
测试
- 链接kafka 创建topic
./kafka-topics.sh --topic test --zookeeper zk:2181 --create --partitions 8 --replication-factor 1
- 生产者发送消息
./kafka-console-producer.sh --topic test --broker-list 127.0.0.1:9092
- 创建memsql数据库&&表
CREATE DATABASE quickstart_kafka;
USE quickstart_kafka;
CREATE TABLE messages (id text);
- 创建pipeline kafka 数据加载
CREATE PIPELINE `quickstart_kafka` AS LOAD DATA KAFKA 'kafka/test' INTO TABLE `messages`;
- 测试pipeline
TEST PIPELINE quickstart_kafka LIMIT 1;
- 启动pipeline
START PIPELINE quickstart_kafka;
- 发送数据
上边的kafka product console
- 查询数据
SELECT * FROM quickstart_kafka.messages;
- 查询结果
SELECT * FROM quickstart_kafka.messages;
+--------+
| id |
+--------+
| |
| s |
| sdf |
| sd |
| sdf |
| sd |
| f |
| f |
| appo |
| sdf |
| f |
| demo |
| df |
| dalong |
| sd |
+--------+
- 查询pipeline 的信息
SELECT * FROM information_schema.PIPELINES_BATCHES_SUMMARY;
参考信息:
SELECT * FROM information_schema.PIPELINES_BATCHES_SUMMARY \G
*************************** 1. row ***************************
DATABASE_NAME: quickstart_kafka
PIPELINE_NAME: quickstart_kafka
BATCH_ID: 4
BATCH_STATE: Succeeded
START_TIME: 2018-12-24 01:27:19.000000
BATCH_TIME: 0.176132
ROWS_PER_SEC: 17.032680035427973
ROWS_STREAMED: 3
NUM_PARTITIONS: 3
NUM_PARTITIONS_FINISHED: 3
MB_STREAMED: 0.0000
MB_PER_SEC: 0.00009651852020075853
EXTRACTOR_WAIT_TIME: 0.0726
TRANSFORM_WAIT_TIME: 0
*************************** 2. row ***************************
DATABASE_NAME: quickstart_kafka
PIPELINE_NAME: quickstart_kafka
BATCH_ID: 2
BATCH_STATE: Succeeded
START_TIME: 2018-12-24 01:24:19.000000
BATCH_TIME: 0.665859
ROWS_PER_SEC: 1.5018194542688468
ROWS_STREAMED: 1
NUM_PARTITIONS: 1
NUM_PARTITIONS_FINISHED: 1
MB_STREAMED: 0.0000
- 可视化界面查看
open http://localhost:8080
一张pipeline 参考图
参考资料
https://docs.memsql.com/memsql-pipelines/v6.7/pipelines-overview/
https://docs.memsql.com/memsql-pipelines/v6.7/kafka-pipeline-quickstart/
https://github.com/rongfengliang/memsql-kafka-pipeline-docker-compose
memsql kafka集成的更多相关文章
- Kafka集成SparkStreaming
Spark Streaming + Kafka集成指南 Kafka项目在版本0.8和0.10之间引入了一个新的消费者API,因此有两个独立的相应Spark Streaming包可用.请选择正确的包, ...
- Spark Streaming和Kafka集成深入浅出
写在前面 本文主要介绍Spark Streaming基本概念.kafka集成.Offset管理 本文主要介绍Spark Streaming基本概念.kafka集成.Offset管理 一.概述 Spar ...
- Spark Streaming与Kafka集成
Spark Streaming与Kafka集成 1.介绍 kafka是一个发布订阅消息系统,具有分布式.分区化.多副本提交日志特点.kafka项目在0.8和0.10之间引入了一种新型消费者API,注意 ...
- Spark Streaming之四:Spark Streaming 与 Kafka 集成分析
前言 Spark Streaming 诞生于2013年,成为Spark平台上流式处理的解决方案,同时也给大家提供除Storm 以外的另一个选择.这篇内容主要介绍Spark Streaming 数据接收 ...
- 新闻实时分析系统-Flume+HBase+Kafka集成与开发
1.下载Flume源码并导入Idea开发工具 1)将apache-flume-1.7.0-src.tar.gz源码下载到本地解压 2)通过idea导入flume源码 打开idea开发工具,选择File ...
- 新闻网大数据实时分析可视化系统项目——9、Flume+HBase+Kafka集成与开发
1.下载Flume源码并导入Idea开发工具 1)将apache-flume-1.7.0-src.tar.gz源码下载到本地解压 2)通过idea导入flume源码 打开idea开发工具,选择File ...
- 解析SparkStreaming和Kafka集成的两种方式
spark streaming是基于微批处理的流式计算引擎,通常是利用spark core或者spark core与spark sql一起来处理数据.在企业实时处理架构中,通常将spark strea ...
- springboot kafka集成(实现producer和consumer)
本文介绍如何在springboot项目中集成kafka收发message. 1.先解决依赖 springboot相关的依赖我们就不提了,和kafka相关的只依赖一个spring-kafka集成包 &l ...
- Structured Streaming + Kafka Integration Guide 结构化流+Kafka集成指南 (Kafka broker version 0.10.0 or higher)
用于Kafka 0.10的结构化流集成从Kafka读取数据并将数据写入到Kafka. 1. Linking 对于使用SBT/Maven项目定义的Scala/Java应用程序,用以下工件artifact ...
随机推荐
- 2.2 BIOS中断
BIOS中断 BIOS中断简介 计算机刚启动时,进入实模式下,此时操作系统跟硬件(例如键盘鼠标显卡等)交互通过BIOS进行的.通过调用中BIOS中断的方式来访问硬件设备. BIOS中断就不详细介绍了. ...
- Cracking The Coding Interview 1.4
//Write a method to decide if two strings are anagrams or not. // // 变位词(anagrams)指的是组成两个单词的字符相同,但位置 ...
- Java学习笔记9(面象对象9:多态)
多态概述 多态是继封装.继承后,面对对象的第三大特性. 现实事物经常会出现多态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态. Java作为面向对象的语言,同样可以描述一 ...
- 替换Jar包内的文件
要替换Jar包内的文件可以用以下命令实现: jar uvf myjar.jar com/test/myclass.class 这里值得注意的是 myclass.class 必须放在com/test ...
- PAT乙级 1031. 查验身份证(15)
题目传送:https://www.patest.cn/contests/pat-b-practise/1031 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如 ...
- swift简单处理调用高清大图导致内存暴涨的情况
开发中,通常需要用到使用选取多张图片的功能,但是高清大图很吃内存,我想到的处理方案就是拿到高清大图的时候,重新绘制一张小的图片使用.至于清晰度尚可,至少我是分辨不出多大区别. 基本思路就是先固定宽,然 ...
- Proxy --支持的拦截操作篇
下面是 Proxy 支持的拦截操作一览. 对于可以设置.但没有设置拦截的操作,则直接落在目标对象上,按照原先的方式产生结果. (1)get(target, propKey, receiver) 拦截对 ...
- 堆&栈
Java内存分为两种:堆内存和栈内存. 一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配.当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间.堆内存用于存放由new创建的对象和 ...
- python 模块基础 和常用的模块
模块的定义 一个模块就是以.py结尾的python 文件,用来从逻辑上组织python代码.注意,模块名和变量名一样开头不能用数字,可以是双下划线和字母. 为什么要用模块? 将一些复杂的需要重复使用的 ...
- java小程序-----用if for写会员登陆和商品列表
一.父类 public class Father{ //父类 protected static int stock1 = 10; //库存 protected static int stock2 = ...