Skip to content
司马顿的博客
司马顿的博客

司马顿的博客

Drill的Mysql存储插件

Posted on 2022年4月4日 By 司马顿

上篇博客讲了Drill 1.20配置Hive3存储插件,过程还是有点折腾的。

配置完后,我顺便配了下Mysql存储插件,这个就很简单了。

把mysql连接器程序放到drill的classpath下,然后启动drill-embedded,打开web UI,在默认的mysql插件那里,修改如下几个值:

  "url": "jdbc:mysql://localhost:3306",
  "username": "spark",
  "password": "spark123",

也就是访问Mysql的相关凭证。改完后再在web UI里激活这个插件即可。

我们回到drill shell,可以如下访问Mysql的内容:

apache drill (mysql.spark)> use mysql.spark;
+------+-----------------------------------------+
|  ok  |                 summary                 |
+------+-----------------------------------------+
| true | Default schema changed to [mysql.spark] |
+------+-----------------------------------------+
1 row selected (0.1 seconds)

apache drill (mysql.spark)> show tables;
+--------------+---------------------------+
| TABLE_SCHEMA |        TABLE_NAME         |
+--------------+---------------------------+
| mysql.spark  | AUX_TABLE                 |
| mysql.spark  | BUCKETING_COLS            |

这是一个简单的select:

apache drill (mysql.spark)> select name,sum(number) as dd from fruit group by name order by dd desc limit 10;
+-----------+-----+
|   name    | dd  |
+-----------+-----+
| blueberry | 166 |
| cumquat   | 145 |
| lemon     | 145 |
| areca nut | 139 |
| haw       | 137 |
| greengage | 134 |
| banana    | 134 |
| raspberry | 133 |
| longan    | 132 |
| nectarine | 128 |
+-----------+-----+
10 rows selected (0.155 seconds)

这看起来怪怪的,在drill里去对Mysql执行SQL查询。殊不知Mysql才是这个领域的王者,它的SQL性能无与伦比。同样对上述查询,Mysql的时间永远是0秒。

mysql> select name,sum(number) as dd from fruit group by name order by dd desc limit 10;
+-----------+------+
| name      | dd   |
+-----------+------+
| blueberry |  166 |
| cumquat   |  145 |
| lemon     |  145 |
| areca nut |  139 |
| haw       |  137 |
| banana    |  134 |
| greengage |  134 |
| raspberry |  133 |
| longan    |  132 |
| nectarine |  128 |
+-----------+------+
10 rows in set (0.00 sec)

要论SQL引擎的性能,Mysql经过这么多年的发展,其查询性能绝对领先于一堆的大数据SQL引擎。什么Spark, Hive, Drill, Impala,在非海量数据的场景下,查询性能都比不上Mysql。

Drill这里整合了Mysql的查询,当然不是没有用处。比如,它可以做多数据源的跨表联合查询。左边是Mysql表,右边是Hive表,再join起来查询,这个在某些场景下,就比较有用了。

Print this entry

博客 Apache Drill技术

文章导航

Previous post
Next post

Archives

  • 2022 年 9 月 (2)
  • 2022 年 8 月 (2)
  • 2022 年 7 月 (2)
  • 2022 年 6 月 (1)
  • 2022 年 5 月 (4)
  • 2022 年 4 月 (18)
  • 2022 年 3 月 (13)
  • 2022 年 2 月 (6)
  • 2022 年 1 月 (8)
  • 2021 年 12 月 (14)
  • 2021 年 11 月 (7)
  • 2021 年 10 月 (19)
  • 2021 年 9 月 (25)
  • 2021 年 8 月 (45)
  • 2021 年 7 月 (33)
  • 2021 年 6 月 (10)
  • 2021 年 3 月 (2)
  • 2021 年 2 月 (8)
  • 2021 年 1 月 (8)
  • 2020 年 12 月 (20)
  • 2020 年 11 月 (11)
  • 2020 年 10 月 (14)
  • 2020 年 9 月 (33)
  • 2020 年 8 月 (17)
  • 2020 年 7 月 (21)
  • 2020 年 6 月 (20)
  • 2020 年 5 月 (10)
  • 2020 年 4 月 (17)
  • 2020 年 3 月 (18)
  • 2020 年 2 月 (11)
  • 2020 年 1 月 (7)
  • 2019 年 12 月 (13)
  • 2019 年 11 月 (14)
  • 2019 年 10 月 (8)
  • 2019 年 9 月 (9)
  • 2019 年 8 月 (13)
  • 2019 年 7 月 (12)
  • 2019 年 6 月 (20)
  • 2019 年 5 月 (18)
  • 2019 年 4 月 (18)
  • 2019 年 3 月 (11)
  • 2019 年 2 月 (12)
  • 2019 年 1 月 (15)
  • 2018 年 12 月 (15)
  • 2018 年 11 月 (13)
  • 2018 年 10 月 (13)
  • 2018 年 9 月 (21)
  • 2018 年 8 月 (29)
  • 2018 年 7 月 (23)
  • 2018 年 6 月 (21)
  • 2018 年 5 月 (5)

标签

AI (24) Apache Drill (11) 加拿大 (21) 宇宙与人生 (19) 情感 (281) 技术 (75) 抑郁症 (68) 新冠病毒 (13) 汽车 (30) 生活 (333) 职场 (25) 行业观点 (60) 读书文艺 (48)
©2025 司马顿的博客 | WordPress Theme by SuperbThemes