- 一个数据文件记录数在 100 万左右,记作 a ;
- 另一个数据文件记录数在 40 万左右,记作 b。
a 和 b 通过字段 C 是有关联的,现在要把 a left join b,把 a 中的某些字段的值从 b 中补充过来。目前的做法是两个文件的数据分别建表入 MySQL,然后 join 操作,但是性能吃紧。想问下懂大数据的 v 友,使用大数据技术有没有更好的解决方案。
目前自己调研是使用 Hbase Hive SparkSQL 去搞,但是自己之前没有搞过大数据不知道这个调研结果是否可以
a 和 b 通过字段 C 是有关联的,现在要把 a left join b,把 a 中的某些字段的值从 b 中补充过来。目前的做法是两个文件的数据分别建表入 MySQL,然后 join 操作,但是性能吃紧。想问下懂大数据的 v 友,使用大数据技术有没有更好的解决方案。
目前自己调研是使用 Hbase Hive SparkSQL 去搞,但是自己之前没有搞过大数据不知道这个调研结果是否可以
于2019-01-11解决,性能问题出现在如下地方:
useServerPrepStmts=false&rewriteBatchedStatements=true&useCompression=true;优化后该过程耗时为原来的1/3,控制在2min内,业务可接受; 1
zbinlin Jan 9, 2019
试试 PostgreSQL
|
2
surfire91 Jan 9, 2019 就这么点数据,索引加好了不得起飞?
|
3
hilbertz Jan 9, 2019
怎么可能性能吃紧,你跑在树莓派上吗
|
7
lanterboy Jan 9, 2019
先弄清楚 性能吃紧的瓶颈在业务代码还是数据库
|
8
TKKONE PRO 这点数据都性能紧张的话,还搭建 hive 不是更紧张?
|
11
glacer Jan 9, 2019
楼主的性能吃紧在 IO,每次都返回 100w 行 100+字段的数据,这能不慢吗
|
12
surfire91 Jan 9, 2019
@Asan 跑完是指什么跑完,只查了库,还干了别的吗?如果查库就占了近 5 分钟,那查询还是有问题的,100 个字段要说多也不多,主要还是看字段类型长度,两个表总共占了多少空间?机器什么配置?多大内存?
|
13
magicsilence Jan 9, 2019
千万 A 表和四十万 B 表全 load 到 hive, 一个 hql 就能搞定。
sparksql 和 hbase 都不用。 另:hive 可以 on spark |
14
sss007 Jan 9, 2019
建个视图试试
|
15
Mac Jan 9, 2019 via Android
很明显 io 的瓶颈,每次都全量输出不慢才怪呢
|
16
sunnyadamm Jan 9, 2019
io 问题,量不大,
|
17
zhchyu999 Jan 9, 2019
SQLServer 也能很轻松的搞定,这点量远远不到大数据;
试试优化下你的业务逻辑或者查询逻辑,是否真的需要这么多数据全量 join,能否先缩小一下范围 尽量少的引入外部组件,业务扔不掉,后期维护真的很难 |
18
F281M6Dh8DXpD1g2 Jan 9, 2019 via iPad
Spark sql 就行了,要不了多久
|
19
laqow Jan 9, 2019 via Android
没有后续查找需要的话是不是只把 B 放数据库,然后逐个 A 行用 C 关键字查询 B 把结果放回 A 就可以了?
|
20
50infivedays Jan 9, 2019
这个量确实比较小
|
21
loading Jan 9, 2019 via Android
先试下分页,每次都全量,io 吧。
|
22
zeraba Jan 9, 2019 via Android
C 字段两个表都加好索引 类型和表的字符集保持一致,这点数据不算啥大数据
|
23
31p7410 Jan 9, 2019
这个数据量太小了,hive 就能搞定
|
24
crazypig14 Jan 10, 2019
这点数据量 mysql 确定不行? explain 过 sql 了么?
|
25
SmiteChow Jan 10, 2019
数据量不大 索引建好了 不费事
|