大数据周会-本周学习内容总结05
创始人
2024-06-02 00:24:50
0

目录

00【陈师兄字节大厂经验分享】

01【MySQL数据同步ES】

1.1【Linux MySQL数据库数据同步Windows ES】

1.1.1【自动创建分片数为0的索引】

1.1.2【数据导入时间过长】

1.2【数据同步,增删改】

1.3【遇到的细节问题】

1.3.1【logstash配置文件,索引名必须小写】

1.4【Linux搭建es】

02【调研】

2.1【Mysql-ES 全量—增量更新机制并实现】

2.2【数据检索(也叫超市或中台)】


00【陈师兄字节大厂经验分享】

大数据
书:《大数据之路》阿里巴巴

大数据,计算和存储,分别用什么!

一致性模型和一致性协议

数据同步:dts canal datax sqoop

数据倾斜方面数据优化

拍照存储计算选型
存储 纠删码

省钱 减少数据资源

监控binlog日志,标计es,es增加一列,查询的时候根据列显示数据!
canal   logstash   并发流读取删除

计算:spark  sparkstreaming  flink  kafka
flume scpoop监听日志文件夹

rabbitmq保证数据一致性,kafka会丢失数据

数据调度,面经,肯定要问!

01【MySQL数据同步ES】

1.1【Linux MySQL数据库数据同步Windows ES】

步骤

  1. MySQL数据库Jar包
  2. xxx.conf配置文件,配置MySQL数据库信息与ES信息
  3. logstash -f ../config/gaokao/mysql03.conf
input {stdin {}jdbc { # 01# 配置MySQL数据库链接,变量为数据库名jdbc_connection_string => "jdbc:mysql://x.x.x.x:3306/recommend_form"# 配置MySQL数据库用户名和密码jdbc_user => "root"jdbc_password => "hadoop"# MySQL驱动jar包存放位置jdbc_driver_library => "D:\\elk\\logstash\\logstash-7.1.1\\jar\\mysql-connector-java-5.1.31.jar"# MySQL驱动类名jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "50000"# 执行的sql,文件路径+名称:statement_filepath# statement_filepath => ""# 要执行的sql语句statement => "select * from course_match_requirementcode"# 设置监听间隔,各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新schedule => "* * * * *"# 索引类型type => "course_match_requirementcode"}jdbc { # 02# 配置MySQL数据库链接,变量为数据库名jdbc_connection_string => "jdbc:mysql://x.x.x.x:3306/recommend_form"# 配置MySQL数据库用户名和密码jdbc_user => "root"jdbc_password => "hadoop"# MySQL驱动jar包存放位置jdbc_driver_library => "D:\\elk\\logstash\\logstash-7.1.1\\jar\\mysql-connector-java-5.1.31.jar"# MySQL驱动类名jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "50000"# 执行的sql,文件路径+名称:statement_filepath# statement_filepath => ""# 要执行的sql语句statement => "select * from enroll_plan_finally"# 设置监听间隔,各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新schedule => "* * * * *"# 索引类型type => "enroll_plan_finally"}jdbc { # 03# 配置MySQL数据库链接,变量为数据库名jdbc_connection_string => "jdbc:mysql://x.x.x.x:3306/recommend_form"# 配置MySQL数据库用户名和密码jdbc_user => "root"jdbc_password => "hadoop"# MySQL驱动jar包存放位置jdbc_driver_library => "D:\\elk\\logstash\\logstash-7.1.1\\jar\\mysql-connector-java-5.1.31.jar"# MySQL驱动类名jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "50000"# 执行的sql,文件路径+名称:statement_filepath# statement_filepath => ""# 要执行的sql语句statement => "select * from epp"# 设置监听间隔,各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新schedule => "* * * * *"# 索引类型type => "epp"}jdbc { # 04# 配置MySQL数据库链接,变量为数据库名jdbc_connection_string => "jdbc:mysql://x.x.x.x:3306/recommend_form"# 配置MySQL数据库用户名和密码jdbc_user => "root"jdbc_password => "hadoop"# MySQL驱动jar包存放位置jdbc_driver_library => "D:\\elk\\logstash\\logstash-7.1.1\\jar\\mysql-connector-java-5.1.31.jar"# MySQL驱动类名jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "50000"# 执行的sql,文件路径+名称:statement_filepath# statement_filepath => ""# 要执行的sql语句statement => "select * from id_2022_2021"# 设置监听间隔,各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新schedule => "* * * * *"# 索引类型type => "id_2022_2021"}jdbc { # 05# 配置MySQL数据库链接,变量为数据库名jdbc_connection_string => "jdbc:mysql://x.x.x.x:3306/recommend_form"# 配置MySQL数据库用户名和密码jdbc_user => "root"jdbc_password => "hadoop"# MySQL驱动jar包存放位置jdbc_driver_library => "D:\\elk\\logstash\\logstash-7.1.1\\jar\\mysql-connector-java-5.1.31.jar"# MySQL驱动类名jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "50000"# 执行的sql,文件路径+名称:statement_filepath# statement_filepath => ""# 要执行的sql语句statement => "select * from major_22_21"# 设置监听间隔,各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新schedule => "* * * * *"# 索引类型type => "major_22_21"}jdbc { # 06# 配置MySQL数据库链接,变量为数据库名jdbc_connection_string => "jdbc:mysql://x.x.x.x:3306/recommend_form"# 配置MySQL数据库用户名和密码jdbc_user => "root"jdbc_password => "hadoop"# MySQL驱动jar包存放位置jdbc_driver_library => "D:\\elk\\logstash\\logstash-7.1.1\\jar\\mysql-connector-java-5.1.31.jar"# MySQL驱动类名jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "50000"# 执行的sql,文件路径+名称:statement_filepath# statement_filepath => ""# 要执行的sql语句statement => "select * from major_info_category"# 设置监听间隔,各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新schedule => "* * * * *"# 索引类型type => "major_info_category"}jdbc { # 07# 配置MySQL数据库链接,变量为数据库名jdbc_connection_string => "jdbc:mysql://x.x.x.x:3306/recommend_form"# 配置MySQL数据库用户名和密码jdbc_user => "root"jdbc_password => "hadoop"# MySQL驱动jar包存放位置jdbc_driver_library => "D:\\elk\\logstash\\logstash-7.1.1\\jar\\mysql-connector-java-5.1.31.jar"# MySQL驱动类名jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "50000"# 执行的sql,文件路径+名称:statement_filepath# statement_filepath => ""# 要执行的sql语句statement => "select * from major_name_hot_cold"# 设置监听间隔,各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新schedule => "* * * * *"# 索引类型type => "major_name_hot_cold"}jdbc { # 08# 配置MySQL数据库链接,变量为数据库名jdbc_connection_string => "jdbc:mysql://x.x.x.x:3306/recommend_form"# 配置MySQL数据库用户名和密码jdbc_user => "root"jdbc_password => "hadoop"# MySQL驱动jar包存放位置jdbc_driver_library => "D:\\elk\\logstash\\logstash-7.1.1\\jar\\mysql-connector-java-5.1.31.jar"# MySQL驱动类名jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "50000"# 执行的sql,文件路径+名称:statement_filepath# statement_filepath => ""# 要执行的sql语句statement => "select * from major_score"# 设置监听间隔,各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新schedule => "* * * * *"# 索引类型type => "major_score"}jdbc { # 09# 配置MySQL数据库链接,变量为数据库名jdbc_connection_string => "jdbc:mysql://x.x.x.x:3306/recommend_form"# 配置MySQL数据库用户名和密码jdbc_user => "root"jdbc_password => "hadoop"# MySQL驱动jar包存放位置jdbc_driver_library => "D:\\elk\\logstash\\logstash-7.1.1\\jar\\mysql-connector-java-5.1.31.jar"# MySQL驱动类名jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "50000"# 执行的sql,文件路径+名称:statement_filepath# statement_filepath => ""# 要执行的sql语句statement => "select * from recommend_form"# 设置监听间隔,各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新schedule => "* * * * *"# 索引类型type => "recommend_form"}jdbc { # 10# 配置MySQL数据库链接,变量为数据库名jdbc_connection_string => "jdbc:mysql://x.x.x.x:3306/recommend_form"# 配置MySQL数据库用户名和密码jdbc_user => "root"jdbc_password => "hadoop"# MySQL驱动jar包存放位置jdbc_driver_library => "D:\\elk\\logstash\\logstash-7.1.1\\jar\\mysql-connector-java-5.1.31.jar"# MySQL驱动类名jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "50000"# 执行的sql,文件路径+名称:statement_filepath# statement_filepath => ""# 要执行的sql语句statement => "select * from recommend_form_2021"# 设置监听间隔,各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新schedule => "* * * * *"# 索引类型type => "recommend_form_2021"}jdbc { # 11# 配置MySQL数据库链接,变量为数据库名jdbc_connection_string => "jdbc:mysql://x.x.x.x:3306/recommend_form"# 配置MySQL数据库用户名和密码jdbc_user => "root"jdbc_password => "hadoop"# MySQL驱动jar包存放位置jdbc_driver_library => "D:\\elk\\logstash\\logstash-7.1.1\\jar\\mysql-connector-java-5.1.31.jar"# MySQL驱动类名jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "50000"# 执行的sql,文件路径+名称:statement_filepath# statement_filepath => ""# 要执行的sql语句statement => "select * from requirement_code"# 设置监听间隔,各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新schedule => "* * * * *"# 索引类型type => "requirement_code"}jdbc { # 12# 配置MySQL数据库链接,变量为数据库名jdbc_connection_string => "jdbc:mysql://x.x.x.x:3306/recommend_form"# 配置MySQL数据库用户名和密码jdbc_user => "root"jdbc_password => "hadoop"# MySQL驱动jar包存放位置jdbc_driver_library => "D:\\elk\\logstash\\logstash-7.1.1\\jar\\mysql-connector-java-5.1.31.jar"# MySQL驱动类名jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "50000"# 执行的sql,文件路径+名称:statement_filepath# statement_filepath => ""# 要执行的sql语句statement => "select * from school_info"# 设置监听间隔,各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新schedule => "* * * * *"# 索引类型type => "school_info"}jdbc { # 13# 配置MySQL数据库链接,变量为数据库名jdbc_connection_string => "jdbc:mysql://x.x.x.x:3306/recommend_form"# 配置MySQL数据库用户名和密码jdbc_user => "root"jdbc_password => "hadoop"# MySQL驱动jar包存放位置jdbc_driver_library => "D:\\elk\\logstash\\logstash-7.1.1\\jar\\mysql-connector-java-5.1.31.jar"# MySQL驱动类名jdbc_driver_class => "com.mysql.jdbc.Driver"jdbc_paging_enabled => "true"jdbc_page_size => "50000"# 执行的sql,文件路径+名称:statement_filepath# statement_filepath => ""# 要执行的sql语句statement => "select * from sectionscore"# 设置监听间隔,各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新schedule => "* * * * *"# 索引类型type => "sectionscore"}
}filter {json {source => "message"remove_field => ["message"]}
}output {if[type] == "course_match_requirementcode" { # 01elasticsearch {hosts => ["127.0.0.1:9200"]index => "gaokao_test_course_match_requirementcode"document_id => "%{id}"}}if[type] == "enroll_plan_finally" { # 02elasticsearch {hosts => ["127.0.0.1:9200"]index => "gaokao_test_enroll_plan_finally"document_id => "%{id}"}}if[type] == "epp" { # 03elasticsearch {hosts => ["127.0.0.1:9200"]index => "gaokao_test_epp"document_id => "%{id}"}}if[type] == "id_2022_2021" { # 04elasticsearch {hosts => ["127.0.0.1:9200"]index => "gaokao_test_id_2022_2021"document_id => "%{id}"}}if[type] == "major_22_21" { # 05elasticsearch {hosts => ["127.0.0.1:9200"]index => "gaokao_test_major_22_21"document_id => "%{id}"}}if[type] == "major_info_category" { # 06elasticsearch {hosts => ["127.0.0.1:9200"]index => "gaokao_test_major_info_category"document_id => "%{id}"}}if[type] == "major_name_hot_cold" { # 07elasticsearch {hosts => ["127.0.0.1:9200"]index => "gaokao_test_major_name_hot_cold"document_id => "%{id}"}}if[type] == "major_score" { # 08elasticsearch {hosts => ["127.0.0.1:9200"]index => "gaokao_test_major_score"document_id => "%{id}"}}if[type] == "recommend_form" { # 09elasticsearch {hosts => ["127.0.0.1:9200"]index => "gaokao_test_recommend_form"document_id => "%{id}"}}if[type] == "recommend_form_2021" { # 10elasticsearch {hosts => ["127.0.0.1:9200"]index => "gaokao_test_recommend_form_2021"document_id => "%{id}"}}if[type] == "requirement_code" { # 11elasticsearch {hosts => ["127.0.0.1:9200"]index => "gaokao_test_requirement_code"document_id => "%{id}"}}if[type] == "school_info" { # 12elasticsearch {hosts => ["127.0.0.1:9200"]index => "gaokao_test_school_info"document_id => "%{id}"}}if[type] == "sectionscore" { # 13elasticsearch {hosts => ["127.0.0.1:9200"]index => "gaokao_test_section_score"document_id => "%{id}"}}stdout {codec => json_lines}
}

1.1.1【自动创建分片数为0的索引】

es中若未创建索引,则Logstash会根据配置文件xxx.conf中的信息自动创建索引:

查询数据,enroll_plan_finally数据库,在数据浏览页面数据字段展示不完全。

进行基本查询,可以查到单条数据的所有字段。

1.1.2【数据导入时间过长】

1.2【数据同步,增删改】

修改

1.3【遇到的细节问题】

1.3.1【logstash配置文件,索引名必须小写】

1.4【Linux搭建es】

 

02【调研】

2.1【Mysql-ES 全量—增量更新机制并实现】

ELK 是目前业界使用最广泛的日志数据处理平台。

调研文档:

  1. logstash jdbc全量更新与增量更新_我在北国不背锅的博客-CSDN博客,时间戳、唯一主键id
  2. centos7配置Logstash同步Mysql数据到Elasticsearch - JavaClub全栈架构师技术笔记

第一次同步时需要全量的数据,之后则需要定时去同步增量数据。1、根据唯一主键,2、根据时间戳。

2.2【数据检索(也叫超市或中台)】

数据检索

  1. 概念:数据检索即把数据库中存储的数据根据用户的需求提取出来。数据检索的结果会生成一个数据表,既可以放回数据库,也可以作为进一步处理的对象。
  2. 工作流程:先排序再筛选。
  3. 检索方法:顺序检索、对分检索、索引检索。

数据中台是对既有/新建信息化系统业务与数据的沉淀,是实现数据赋能新业务、新应用的中间、支撑性平台。

各种信息系统大多是独立建设的,无法做到信息的互联互通,导致形成了多个数据孤岛。数据中台的作用是融合新老信息,整合各个孤岛上的信息,快速形成数据服务能力,为企业经营决策、精细化运营提供支持。

数据中台详解:数据中台详解

数据中台解决方案:数据中台解决方案-最新全套文件_数据中台 技术方案

相关内容

热门资讯

恋夜视频安卓系统Uc,恋夜视频... 亲爱的读者,你是否曾在深夜时分,被手机屏幕上跳动的视频吸引?今天,就让我带你一探究竟,揭开恋夜视频安...
鸿蒙套娃安卓系统视频,融合与创... 你知道吗?最近科技圈可是炸开了锅,因为华为的新操作系统鸿蒙OS又有了新动作。这不,他们竟然把鸿蒙套娃...
xp系统连接安卓手机问题,实用... 你有没有遇到过这样的情况:你的电脑上还运行着那个经典的XP系统,而你的安卓手机却时不时地想要和你亲密...
压缩安卓系统储存空间,高效管理... 手机里的照片越来越多,游戏也越玩越上瘾,可这安卓系统的储存空间却越来越紧张,是不是感觉像是在挤牙膏?...
安卓手游转苹果系统教程,轻松实... 你是不是也和我一样,手头有一堆安卓手游,突然之间想换换口味,体验一下苹果系统的魅力呢?别急,今天就来...
安卓原生系统锁屏暗,安卓系统锁... 亲爱的手机控们,你是否曾为安卓手机锁屏时的暗模式而感到好奇?那种在夜晚或光线不足的环境中,屏幕自动调...
安卓系统表情包下载地址,安卓系... 你是不是也和我一样,对安卓系统的表情包爱不释手?那些搞笑的、可爱的、甚至是有点小调皮的表情,总能让我...
原生安卓系统声音bug,揭秘那... 你有没有遇到过这种情况?手机里突然传来一阵奇怪的声音,让你瞬间从美梦中惊醒,或者正在专心工作时被打扰...
水果收银机安卓系统,便捷高效的... 你有没有想过,在繁忙的超市里,那些摆满新鲜水果的摊位,背后竟然隐藏着一个小小的科技秘密?没错,就是那...
安卓系统变苹果界面了吗,苹果界... 最近手机界可是炸开了锅,不少安卓用户都在议论纷纷:“安卓系统变苹果界面了吗?”这事儿可真不简单,得好...
miui操作系统与安卓系统吗,... 亲爱的读者,你是否曾在手机上看到过MIUI操作系统和安卓系统这两个名字,好奇它们之间有什么区别?今天...
安卓系统怎么卡道具界面,探究原... 手机用久了,是不是感觉安卓系统越来越卡?尤其是那个道具界面,点开就慢吞吞的,真是让人头疼。别急,今天...
安卓系统红包加速器,畅享无阻新... 你有没有发现,现在用手机抢红包简直是一场速度与激情的较量?别急,别急,让我来给你揭秘一款神器——安卓...
安卓经典版系统更新时间,从首次... 你有没有发现,最近你的安卓手机又悄悄地变了个样?没错,就是那个陪伴我们多年的经典版系统,它又来更新啦...
安卓系统开发要多久,约需1-2... 你有没有想过,自己动手开发一个安卓应用,究竟需要多长时间呢?这可是个让人好奇的问题,毕竟安卓系统开发...
原生安卓系统手机壁纸图片,探索... 亲爱的手机控们,你是否曾为寻找一款独特的壁纸而烦恼?今天,就让我带你走进原生安卓系统手机壁纸的奇幻世...
bmw安卓互联系统,智能驾驶新... 你有没有发现,现在开车已经不仅仅是驾驶那么简单了?一辆好车,还得有个好“大脑”,这样才能让你的驾驶体...
安卓手机升级系统卡吗,安卓手机... 你有没有遇到过这种情况:安卓手机升级系统后,突然感觉手机像蜗牛一样慢吞吞的,心里那个急啊!今天,就让...
无线麦克风安卓系统,轻松实现无... 你有没有想过,在一场热闹的K歌派对或者重要的演讲场合,无线麦克风简直就是救星啊!想象你手握麦克风,自...
怎么重新定制安卓系统,打造专属... 你有没有想过,你的安卓手机其实可以变得独一无二,就像是你自己的小宇宙一样?没错,就是重新定制安卓系统...