Dremio的数据湖引擎提供了闪电般的查询速度和一个直接针对数据湖存储的自服务语义层。
更为详细的介绍请查阅官网文档:
https://docs.dremio.com/ 复制代码
mkdir /data cd /data wget http://download.dremio.com/community-server/3.1.8-201903290151120189-36bb2bf/dremio-community-3.1.8-201903290151120189_36bb2bf_1.noarch.rpm 复制代码
下载比较慢的时候,可以尝试打开浏览器输入以上网址手动下载
rpm -ivh dremio-community-3.1.8-201903290151120189_36bb2bf_1.noarch.rpm 复制代码
sudo service dremio start 复制代码
http://服务器IP:9047 复制代码
注意: 首次启动可能需要注册,按照相应的要求填写即可,主要关注用户名和密码,随后见到如下登录页面 进行登录
数据源的设置Sources - > 添加(点击旁边的+号),可添加的数据源如下所示,按照指示配置即可
由于暂时没有支持Dremio的连接池,我们这里使用的是Dremio的JDBC单连接,需要提前下载好Dremio的JDBC的jar包,地址如下:
https://www.dremio.com/drivers/ 复制代码
这里我们是为了方便使用mybatis生成语句查询Dremio,当然如果你也可以选择Dremio的RestAPi来获取数据,相关介绍可以到如下网站查阅:
https://docs.dremio.com/rest-api 复制代码
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.0</version> </dependency> 复制代码
@Configuration @MapperScan("com.demo.dao") public class DataSourceConfig { @Bean public DataSource dataSource() { SimpleDriverDataSource dataSource = new SimpleDriverDataSource(); dataSource.setDriverClass(com.dremio.jdbc.Driver.class); dataSource.setUsername("root"); dataSource.setUrl("jdbc:dremio:direct=IP:31010;schema=test-data.TEST"); dataSource.setPassword("*****"); return dataSource; } @Bean public DataSourceTransactionManager transactionManager() { return new DataSourceTransactionManager(dataSource()); } @Bean public SqlSessionFactoryBean sqlSessionFactory() throws Exception { SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource()); sessionFactory.setTypeAliasesPackage("com.demo.model"); return sessionFactory; } } 复制代码
@Mapper public interface DemoDao { String SQL_COLUMN_DEMO = " ID, NAME, AGE "; @Select("<script>" + "select "+SQL_COLUMN_DEMO+"from demo where id = ${id}" + "</script>") Demo SelectOne(@Param("id")Long id); } 复制代码
以上省略了其余的逻辑相关,大家可以根据相关的业务进行完善.使用Dremio确实省去了很多和大数据联调的不便,它的快速查询特性也能提高查询效率,但是有利也有弊,使用时请注意以下相关问题:
暂无Dremio的连接池包,故用单连接
使用Dremio不支持预编译,请使用"${}"方式查询,注意手动控制SQL注入
只能用于查询,插入修改等操作暂不支持