使用apache drill在mysql db中创建表

时间:2018-03-27 04:33:53

标签: mysql apache-drill

我尝试使用apache drill在mysql db中创建一个表。它抛出了一个错误:架构是不可变的。我想到的一个解决方法是使用CTAS语句创建临时表。但我想使用drill在mysql中创建一个永久表。请帮忙。

这是我的MySQL插件配置:

{
  "type": "jdbc",
  "driver": "com.mysql.jdbc.Driver",
  "url": "jdbc:mysql://hostname:3306",
  "username": "root",
  "password": "",
  "enabled": true
}

2 个答案:

答案 0 :(得分:4)

Drill无法在MySql中创建表。

  

限制您只能在工作区中创建新表。你不能   使用存储插件(如Hive和HBase)创建表   没有指定工作区。

     

创建钻取表时必须使用可写(可变)工作空间。

您能够创建的临时表是在文件系统中而不是在MySql中创建的。

  

默认情况下,Drill会在默认值中创建临时表   临时工作空间,dfs.tmp。默认临时工作空间必须是   可写,基于文件,并指向已存在的位置,   否则临时表创建失败。你不能创建一个   临时表在默认临时工作空间之外。

[1] https://drill.apache.org/docs/create-table-as-ctas/

[2] https://drill.apache.org/docs/create-temporary-table-as-cttas/

答案 1 :(得分:1)

如果尚未安装Drill,请安装Drill。

将数据库的JDBC驱动程序复制到jars / 3rdparty目录中。 (您需要在每个节点上执行此操作。)

重新启动钻取。请参阅以分布式模式启动钻取。

添加新的存储配置以通过Web控制台进行钻取。下面提供了Oracle,SQL Server,MySQL和Postgres的示例配置。

https://drill.apache.org/docs/create-table-as-ctas/