看懂这份Java面经大厂真不是问题,mycat1

本文介绍了在mycat1.6环境中使用loaddatainfile命令导入MySQL数据到es_seller_community表的过程,遇到的mycatbug修复,以及与Java开发相关的ActiveMQ、Redis、Spring和JVM面试专题的内容概述。
摘要由CSDN通过智能技术生成

load data  [low_priority] [local] infile ‘file_name txt’ [replace | ignore]

into table tbl_name

[fields

[terminated by’t’]

[OPTIONALLY] enclosed by ‘’]

[escaped by’\’ ]]

[lines terminated by’n’]

[ignore number lines]

[(col_name,   )]

具体说明请参考网上的一篇博客: http://blog.csdn.net/u014082714/article/details/53173975

2、示例环境

基于mycat1.6分支,es_seller_community(ER分片字表)

演示的表结构如下:

CREATE TABLE `es_seller_community` (

`id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘主键’,

`seller_id` int(11) DEFAULT NULL COMMENT ‘商家ID’,

`community_id` int(11) DEFAULT NULL COMMENT ‘小区ID’,

`status` int(11) DEFAULT NULL COMMENT ‘预留字段’,

`comu_type` int(11) DEFAULT ‘1’ COMMENT ‘小区服务类型:1-显示,2-配送’,

PRIMARY KEY (`id`),

KEY `inx_es_seller_community_csid` (`seller_id`,`community_id`) USING BTREE

) ENGINE=InnoDB AUTO_INCREMENT=25195 DEFAULT CHARSET=utf8 COMMENT=‘商户服务小区表’;

该表作为es_seller的字表(ER分片),ER分片配置如下:

3、导入步骤

1、将es_seller_community数据导出txt文件。本例使用Navicat for Mysql 工具进行导出

1)在es_seller_community表上右键,点击【导出向导】

2)设置需要导出的表以及存放路径

3)选项导出的列:

4)设置记录分割符与字段分割符,对应load data infile语法中的(fileds,line分隔符定义),一般默认即可。

然后下一步,点击完成即可。

导出的文件数据如下:

2、连接mycat,导入数据

# mysql -u root -p -P 8066 // 回车输入密码登录

# use es_db;                        //切换到schema,也可以使用show database;查看mycat定义的schema。

# load data local infile ‘data/es_community_sku.txt’ into table es_community_sku;

错误日志:

修复代码:

mycat1.6 报如下错误,跟踪代码发现,mycat1.6在处理数据迁移时留下一个小小的bug,如果是全局表,或非分片表,table标签上的rule属性为空,此处会报空指针,修复代码如下:

如果是发行版的话,源码修复代码后,将编译成jar包,放入mycat安装目录下的lib目录下即可。

修复后,继续执行命令

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

ActiveMQ消息中间件面试专题

  • 什么是ActiveMQ?
  • ActiveMQ服务器宕机怎么办?
  • 丢消息怎么办?
  • 持久化消息非常慢怎么办?
  • 消息的不均匀消费怎么办?
  • 死信队列怎么办?
  • ActiveMQ中的消息重发时间间隔和重发次数吗?

ActiveMQ消息中间件面试专题解析拓展:

BAT面试文档:ActiveMQ+redis+Spring+高并发多线程+JVM


redis面试专题及答案

  • 支持一致性哈希的客户端有哪些?
  • Redis与其他key-value存储有什么不同?
  • Redis的内存占用情况怎么样?
  • 都有哪些办法可以降低Redis的内存使用情况呢?
  • 查看Redis使用情况及状态信息用什么命令?
  • Redis的内存用完了会发生什么?
  • Redis是单线程的,如何提高多核CPU的利用率?

BAT面试文档:ActiveMQ+redis+Spring+高并发多线程+JVM


Spring面试专题及答案

  • 谈谈你对 Spring 的理解
  • Spring 有哪些优点?
  • Spring 中的设计模式
  • 怎样开启注解装配以及常用注解
  • 简单介绍下 Spring bean 的生命周期

Spring面试答案解析拓展

BAT面试文档:ActiveMQ+redis+Spring+高并发多线程+JVM


高并发多线程面试专题

  • 现在有线程 T1、T2 和 T3。你如何确保 T2 线程在 T1 之后执行,并且 T3 线程在 T2 之后执行?
  • Java 中新的 Lock 接口相对于同步代码块(synchronized block)有什么优势?如果让你实现一个高性能缓存,支持并发读取和单一写入,你如何保证数据完整性。
  • Java 中 wait 和 sleep 方法有什么区别?
  • 如何在 Java 中实现一个阻塞队列?
  • 如何在 Java 中编写代码解决生产者消费者问题?
  • 写一段死锁代码。你在 Java 中如何解决死锁?

高并发多线程面试解析与拓展

BAT面试文档:ActiveMQ+redis+Spring+高并发多线程+JVM


jvm面试专题与解析

  • JVM 由哪些部分组成?
  • JVM 内存划分?
  • Java 的内存模型?
  • 引用的分类?
  • GC什么时候开始?

JVM面试专题解析与拓展!

BAT面试文档:ActiveMQ+redis+Spring+高并发多线程+JVM

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
vm面试专题与解析

  • JVM 由哪些部分组成?
  • JVM 内存划分?
  • Java 的内存模型?
  • 引用的分类?
  • GC什么时候开始?

JVM面试专题解析与拓展!

[外链图片转存中…(img-PIbOE6ru-1713469976167)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值