logstash同步数据mysql一对多数据结构的情况? 5C

学生表student和课程表class一对多关系,
学生表student和兴趣interest表一对多关系,
想要将三个表同步到一个索引里面,通过ES一次性查询到学生信息、学生的课程数组、学生的兴趣数组;

[
{
"id": 1,
"name": "小王",
"class": [
{
"id": 1,
"name": "数学"
},
{
"id": 2,
"name": " 语文"
}
],
"interest": [
{
"id": 1,
"name": "学习"
},
{
"id": 1,
"name": "足球"
}
]
}]
我是想搜索出来这样的数据 同时包含学生的 课程和兴趣,而这条数据是真实同步到logstash中的 不是通过ES的联合查询出来的

4个回答

input {
stdin {
}
jdbc {
# mysql jdbc connection string to our backup databse
jdbc_connection_string => "jdbc:mysql://192.168.42.147:3306/test"
# the user we wish to excute our statement as
jdbc_user => "root"
jdbc_password => "root"
# the path to our downloaded jdbc driver
jdbc_driver_library => "/home/hadoop/opt/logstash-2.3.2/mysql-connector-java-5.1.29.jar"
# the name of the driver class for mysql
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
statement_filepath => "jdbc.sql"
schedule => "* * * * "
type => "gjhz"
}
jdbc {
# mysql jdbc connection string to our backup databse
jdbc_connection_string => "jdbc:mysql://192.168.42.147:3306/test"
# the user we wish to excute our statement as
jdbc_user => "root"
jdbc_password => "root"
# the path to our downloaded jdbc driver
jdbc_driver_library => "/home/hadoop/opt/logstash-2.3.2/mysql-connector-java-5.1.29.jar"
# the name of the driver class for mysql
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000"
statement_filepath => "jdbc2.sql"
schedule => "
* * * *"
type => "rjfw"
}
}

网卡,一不小心发了四遍图片说明

u013098329
blueness_sunshine 好像这几遍有的不一样。所以根据我这种情况,关键点是在哪儿?
接近 2 年之前 回复

[
{
"id": 1,
"name": "小王",
"class": [
{
"id": 1,
"name": "数学"
},
{
"id": 2,
"name": " 语文"
}
],
"interest": [
{
"id": 1,
"name": "学习"
},
{
"id": 1,
"name": "足球"
}
]
}]我是想搜索出来这样的数据 同时包含学生的 课程和兴趣,而这条数据是真实同步到logstash中的 不是通过ES的联合查询出来的

先把表设计写好 再写对表的操作就好写了 应该先看一下这个一对多的表设计https://www.cnblogs.com/fengxuehuanlin/p/5325312.html

u013098329
blueness_sunshine 回复chenxiansheng888: 那么更新操作呢?
接近 2 年之前 回复
chenxiansheng888
小刀有话说 回复blueness_sunshine: 怎么会不更新 插入的时候 不算数据库更新吗
接近 2 年之前 回复
u013098329
blueness_sunshine 兴趣表与课程表没有关系,这里也没有多对多的情况;我的问题需要考虑到logstash后期增量更新的时候,是否能找到对应是哪条数据有更新,不然变成了只插入不更新,造成冗余数据
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
logstash同步mysql到elasticsearch
logstash同步mysql到elasticsearch,其中包括同步的配置文件和mysql驱动
利用logstash实现mysql和elasticsearch同步
1、本课程使用的ES版本是5.x 以上版本 n2、本课程是引导课程。更多的是学习方法和套路教学,而不是过知识点、过函数 n3、工具类、框架类官方更新很快,我们更多的是要学习如何适应变化,而不是背知识点 n4、本课程需要有一定的课后主观能动性。和简单的Linux、java基础
使用logstash从 mysql 全量同步数据到elasticsearch
1.安装elasticsearch此处略过,安装logstash见官网:https://www.elastic.co/guide/en/logstash/current/installing-logstash.html确认logstash是否安装好切换到logstash/bin目录如:cd logstash-6.2.4(使用centos yum安装logstash目录在/usr/share/log...
elasticsearch and logstash版本6.2.4同步mysql
elasticsearch and logstash版本6.2.4环境集成工具,可以在windows、linux环境集成,在博客空间给实例出来,同步mysql数据搭建工具
Logstash消费kafka同步数据到elasticsearch的配置文件
input{ kafka{ bootstrap_servers => ["192.169.160.25:7091,192.169.160.26:7092,192.169.160.27:7093,192.169.160.28:7094,192.169.160.29:7095"] #kafka的地址,集群有逗号隔开 client_id => "cpm_add...
logstash同步数据库数据到ES中
logstash同步数据到ESlogstash配置说明环境准备配置文件启动方式踩过的坑 logstash配置说明 环境准备 在logstash目录中新建文件夹driver; 把数据库驱动包复制到driver文件夹下(ojdbc6.jar); 配置文件 新建配置文件jdbc.conf; 该配置文件的内容如下: input{ jdbc{ # 数据库驱动包存放路径 j...
logstash同步elasticsearch笔记
logstash同步elasticsearch笔记 2018,包括配置文件,和demo
logstash分批次同步大量数据
问题:用logstash同步mysql数据到elasticsearch,原始数据有几千万条,发现过了几十万条之后,到了后面同步就特别慢,无法完成同步原因: statement => "select * from t_wechat_message where id > :sql_last_value"logstash配置文件中会配置同步时需要执行的sql,sql_last_value是内...
使用logstash 同步数据库数据到elasticsearch
1.下载logstash 并解压 如图所示 测试logstash 的命令 这里就不提示了 网上有 主要是 logstash -e … 但是实际业务环境中 使用 logstash -f filepath 2.进入logstash-5.6.8 在目录下新建一个mysqletc文件夹 在mysqletc文件夹下导入mysql-connector-java的jar包 并创建mysql.conf 内容如...
logstash同步文件到es
单文件文本同步到ES input { file { path=> [ "C:/JWD/logs/*.log" ] #path=> [ "C:/JWD/server/nginx/logs/*.log", # "C:/JWD/server/Debug/log/*.log" ] start_position =...
Logstash同步MySQL数据到ES
数据放在mysql上不好进行分析,且查询的还比较慢。就想着把数据同步到es上,利用es的高效查询功能进行数据分析。 一、Logstash配置MySQL数据源接入 mysql表字段介绍 CREATE TABLE `t_ex_deal` ( `deal_id` varchar(50) NOT NULL, `back` decimal(36,18) DEFAULT NULL, `cr...
logstash同步父子文档
父子文档,可以理解为关系型数据库中的一对多的关系。使用logstash同步MySQL数据,有时候需要同步父子文档。使用ES父子文档功能需要满足两个条件 指定一个type是另一个type的父 在存储子文档的时候,通过parent参数指定父文档的Id 第一步:定义父子关系curl -XPUT “http://localhost:9200/product?pretty” -d ‘{ "mappings
Mysql一对多 数据数据查询 数据库
要取的数据是 name desc contact这个三个列 这三个列分别属于student contact_desc contact_ext这个三个表 1.第一步 SELECT*(*代表所有列表) FROM student(主表名) JOIN contact_ext (需要取数据的表1) JOIN contact_desc (需要取数据的表2) WHERE student.idcard=1;(需要取数据的主键名)
mysql 同步数据到 mssql
请问rnLinux+mysql 同步数据到 win2000+mssql2000rnrn怎么实现rn
MySQL同步数据
MySQL dump工具用于导出现有数据,导出结果为SQL文件 目前dump工具支持整库dump以及单表dump。下面为单表dump操作过程:1) 选择导出目标目录确保该目录有足够的存储空间。mkdir /opt/bas_backup2)使用mysqldump命令导出表数据:mysqldump -u user-h host -P port-p schema-name table-name> /op
mysql同步数据 <2>
mysql同步数据 来源: ChinaUnix博客  日期: 2008.11.21 11:54 (共有0条评论) 我要评论 mysql同步数据 一,cluster模式配置 数据库同步复制功能的设置都在mysql的设置文件中体现。主要工作原理为slave端记录并且执行master端的操作日志.mysql的配置文件(Linux下为/etc/my.cnf) 1...
同步access数据到mysql
1、因为是链接有密码的access所以使用了odbc 2、因为使用了odbc,所以jdk需要小于等于1.7 3、access_jcbc30.jar不支持带密码连接,所以选择了odbc,所以你的jdk需要是1.7 4、java语言开发,字符集是utf8 5、如果是单一用这一个程序,可以导出为可执行jar,然后做个系统定时任务,定时去同步
mysql版同步数据
delimiter ; drop PROCEDURE if exists P_sync_etl_mid_data ; drop table if exists mid_shop; delimiter $$ create PROCEDURE P_sync_etl_mid_data  ( in p_source_db varchar(50), in p_s
mysql同步数据
本例的场景如下:需要把服务器上的一部分表的数据同步到本地当作测试数据 主要方法: mysqldump mysql的source mysqldump &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mysqldump是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等。 这里...
Oracle同步数据到MySQL
Oracle同步数据到MySQL 1、首先在TreeSoft数据库中配置两个数据源信息 2、配置数据同步任务,并执行任务 3、同步结果数据查看确认 4、目前TreeSoft支持以下数据同步方案 1、MySQL同步数据到Oracl 2、MySQL同步数据到PostgreSQL 3、MySQL同步数据到SQL Server 4、MySQL同步数据到MongoDB 5、MySQL同...
ES 同步mysql 数据
下载logstash-6.7.0工具 在config 文件夹新建 mysql.conf input { jdbc { jdbc_driver_library =&gt; "D:/logstash-6.7.0/bin/mysqldriver/mysql-connector-java-5.1.47.jar" jdbc_driver_class =&gt; "...
logstash同步mysql数据,多表同步配制
input {     stdin {     }     jdbc {       # mysql jdbc connection string to our backup databse       jdbc_connection_string => "jdbc:mysql://192.168.42.147:3306/test"       # the user we wish t
使用logstash同步MySQL数据到ES
概述: 在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。 在使用logstash我们赢先了解其特性,再决定是否使用: 无需开发,仅需安装配置logstash即可; 凡是SQL可以实现的logstash均可以实现(本就是通过sql查询数据) 支持每次全量同步或按照特定字段(如...
使用logstash 同步数据库到es
1.上传logstash-6.4.3.tar.gz到服务中 2.tar –zxvf logstash-6.4.3.tar.gz 3.cd logstash-6.4.3 4. bin/logstash-plugin install logstash-input-jdbc 5. bin/logstash-plugin install logstash-output-elasticsearc...
logstash推送mysql慢查询日志
本文将将介绍通过logstash用来收集mysql的慢查询日志,然后推送给elasticsearch,并创建自定义的索引,最终通过kibana进行web展示。环境介绍:操作系统版本:centos6.6 64bitMysql版本: mysql5.6.17与mysql5.1.36Logstash版本: logstash-2.0.0.tar.gzElasticsearch版本:elasticsearch...
Logstash连接Mysql数据源
1、准备工作:Elasticsearch 、logstash的安装。 2、mysql数据连接驱动。 3、创建mysql.sql语句,例如:select * from tableName ,注意后面没有分号(;)。 4、创建mysql.conf,然后根据对应的jdbc进行配置参数。 5、在logstash的bin目录下启动,.\logstash -f mysql.conf 。 mys...
logstash 接入Mysql 数据库表
mysql 作为成熟稳定的数据持久化解决方案,广泛地应用在各种领域,但是在数据分析方面稍有不足,而 elasticsearch 作为数据分析领域的佼佼者,刚好可以弥补这项不足,而我们要做的只需要将 mysql 中的数据同步到 elasticsearch 中即可,而 logstash 刚好就可以支持,所有你需要做的只是写一个配置文件而已 logstash 获取 wget https://art...
logstash 增量同步mysql的一对多记录到ES的Join类型
ES 我用的是6.5.1 mysql 数据模型 esdatabase 的建库语句 CREATE DATABASE IF NOT EXISTS esdatabase DEFAULT CHARSET utf8 COLLATE utf8_general_ci; brand建表语句 CREATE TABLE `brand` ( `ability_id` int auto_increm...
logstash一次同步Mysql多张表到ES深入详解
题记一次同步多张表是开发中的一般需求。之前研究了很久找到方法,但没有详细总结。 博友前天在线提问,说明这块理解的还不够透彻。 我整理下, 一是为了尽快解决博友问题, 二是加深记忆,便于未来产品开发中快速上手。1、同步原理原有ES专栏中有详解,不再赘述。详细请参考我的专栏: 深入详解Elasticsearch 以下是通过ES5.4.0, logstash5.4.1 验证成功。 可
如何实现 Logstash/Elasticsearch 与MySQL自动同步 更新操作 和 删除操作 ?
技术背景 我们现在的同步, 是依靠 Logstash的 input-jdbc-plugin插件来实现的自动增量更新,这个的方案貌似只能 增量 添加数据而不能修改或者删除数据. 其实不然, 我们根据input-jdbc-plugin这个插件的一些配置, 是可以实现我们要的效果的. 方案原理: 用一个更新时间的字段来作为每次Logstash增...
MYSQL快速同步数据到Redis
举例场景:存储游戏玩家的任务数据,游戏服务器启动时将mysql中玩家的数据同步到redis中。         当然你可以如下思路:                        今天我们用Linux系统终端执行该shell脚本或者直接运行该系统命令,即可将mysql数据库GAME_DB的表TABLE_MISSION数据同步到redis中键missions中去。mysql2redis_
mysql cluster 数据无法同步
今天成功的配了下mysql cluster:rnrn[code=SQL]rnndb_mgm> showrnCluster Configurationrn---------------------rn[ndbd(NDB)] 2 node(s)rnid=2 @192.168.1.1 (mysql-5.1.47 ndb-7.1.5, Nodegroup: 0, Master)rnid=3 @192.168.1.2 (mysql-5.1.47 ndb-7.1.5, Nodegroup: 1)rnrn[ndb_mgmd(MGM)] 1 node(s)rnid=1 @192.168.1.1 (mysql-5.1.47 ndb-7.1.5)rnrn[mysqld(API)] 2 node(s)rnid=4 @192.168.1.1 (mysql-5.1.47 ndb-7.1.5)rnid=5 @192.168.1.2 (mysql-5.1.47 ndb-7.1.5)rn[/code]rnrn可以看到是成功了的。 但是进行测试的时候发生了一个问题。rnrn创建一个database test_cluster.rnrn在数据节点 1、2 上都能看到。rnrn但是在test_cluster 建一个表 bbb, 两边就无法同时看到了。 请问下 这个是为什么???? rnrnrn-----------------管理节点 配置---------------rn[code=SQL]rnrn# Options affecting ndbd processes on all data nodes:rn[NDBD DEFAULT]rnNoOfReplicas=1 # Number of replicasrn#DataMemory=500M # How much memory to allocate for data storagern#IndexMemory=100M # How much memory to allocate for index storagern # For DataMemory and IndexMemory, we have used thern # default values. Since the "world" database takes uprn # only about 500KB, this should be more than enough forrn # this example Cluster setup.rn# TCP/IP options:rn#[TCP DEFAULT]rn#portnumber=2222rnrn# Management process options:rn[NDB_MGMD]rnid=1rnhostname=192.168.1.1 # MGM noderndatadir=/var/lib/mysql-cluster/mgmdata # MGM nodern rn# Options for data node "A":rn[NDBD]rnid=2 # (one [NDBD] section per data node)rnhostname=192.168.1.1 # Data node 1rndatadir=/var/lib/mysql-cluster/ndbdata # Data node 1rnrn# Options for data node "B":rn[NDBD]rnid=3rnhostname=192.168.1.2 # Data node 2rndatadir=/var/lib/mysql-cluster/ndbdata # Data node 2rnrn[/code]rnrn-----------------数据节点 配置---- 2个数据节点的配置文件都一样-----------rnrn[code=SQL]rn[mysqld]rndatadir=/var/lib/mysql-cluster/ndbdatarnskip-lockingrnrnndbclusterrnndb-connectstring=192.168.1.1rnrn[mysql_cluster]rnndb-connectstring=192.168.1.1rnrn[/code]rnrn
ElasticSearch和Mysql同步数据的方法
1. 对于需要在ES中进行查询的表格,增加字段UPDATE_TIME,ES同步数据时根据该字段同步插入和更新的数据。在增加和修改数据时,MySql会自动更新UPDATE_TIME为当前时间,不需要人工进行管理 ALTER TABLE `table_name` ADD COLUMN `UPDATE_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAM...
【mysql】跨数据库同步数据
平时不怎么写存储过程,基本要用到的时候就到网上搜索,刚刚完成一个存储过程 大致作用是两个数据库,都有结构差不多的表,现在需要将一个库里该表同步到另一个库中,建了一个存储过程,并准备后面让这个存储过程自动2小时执行(这个用事件) begin declare b int; declare id1, user_name1, name1, password1, salt1 VARCHA
MySQL远程导入/同步数据
在MySQL中,大表同步或者数据复制,可以使用mysqldump工具导出,然后使用mysql source命令导入。该方法的前提是能够访问到MySQL所在的机器,导出的SQL文件需要上传到目标机器。具体方法参考MySQL单表同步数据这篇文章.但是当使用云服务RDS时,往往无法访问到目标主机,这时候还可以使用如下方式: 首先使用mysqldump导出表(表结构和数据)。然后在导出数据的机器或者其他机
mysql 数据库数据全部同步
可以把三台电脑上的mysql数据库数据全部同步到一个数据库上吗? 时间上大约要多久?不会很慢吧 可不可以多个用户同户多台电脑同时向一个mysql数据库中插入大量数据
Sql Server 同步数据到 Mysql
从 XP 系统的 Sql Server 获取数据 然后同步到 Mysql ,每天定时去更新。Mysql 在服务器上,系统是Debian。rnrn希望大神来点指导,或者有Demo可以让我看看的(最好基础点,注释多一点~)。[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/81.gif][/img]
MyBatis中关于一对多情况
collection(聚合元素)下面的例子一个博客却有许多的评论。在一个博客类里,可能会表述成这样:private List posts;要映射一个嵌套的结果集到一个像这样的列表中,可以使用聚集元素。就像联合元素一样,我们可以使用一个嵌套选择,或者是一个连接的嵌套的结果。 下面是一个嵌套选择来加载博客的评论地示例。 ofType="Post" select=”sel
mysql 一对多 查询 出一行数据
select   *  from    class; select   *    from    student; class   id       name 1         三年二班 2        三年一班 student id      name     class_id 1       小明
mysql 一对多查询出一行数据
这个超级好用,我们有个一对多的表,我们可以一次性取出多条相关联数据拼接给到前端显示。 SELECT company.*,(SELECT GROUP_CONCAT(contact_name) FROM company LEFT JOIN company_contact on company.id=company_contact.company_id ) as b FROM company ...
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法