drill 学习 一 drill 基本介绍

drill 是一个大数据sql 查询引擎(当然对于hdf也是支持写入的,我们的主要场景还是数据查询)

drill 支持的数据格式

drill 支持的数据格式较多,以下是一个简单的说明

  • csv,tsv,psv或者其他任意用分隔符字段的数据(当然我们可以自己配置数据解析——通过存储插件配置选项)
  • json (bjson也是可以的,比如mongo)
  • parrquet
  • avro
  • hadoop sequcen
  • apache 以及nginx 日志分析,内置了的数据解析函数
  • 日志文件(基于内置的通用函数)
  • pcap/pcap-ng 网络数据包抓包文件(libpcap,比如wireshark抓包数据)

支持的存储系统

  • hbase
  • hive
  • kafaka
  • mapr-db
  • mongo
  • opentsdb
  • 主流基于jdbc驱动的关系型数据库

分布式文件系统的支持

  • hdfs
  • s3 (s3 兼容的都可以,minio很不错)
  • mapr-fs

特性

  • 简单易用 
    可以支持主流的数据库,同时我们可方便的集成主流的bi工具(可以通过jdbc连接drill,drill 就可以类似一个数据库引擎了,但是drill不是数据库引擎)
  • no schema 
    drill 不像其他需要写时schema,而且在运行时自己决定的(类似读时schema,但是也不是,因为drill并不需要定义任何,都是自动的),当然也是有 
    代价的,我们可能会有因为数据规范的问题,造成查询失败(尤其是在处理mongo多变数据的时候)

drill 性能

drill 大量水用了内存数据缓存以及cpu 优化,并通过网络进行数据交换,所以对于内存以及cpu 资源情况可能会有比较大的影响(jvm 配置也是很重要的)

参考资料

https://calcite.apache.org/ 
https://drill.apache.org/

原文地址:https://www.cnblogs.com/rongfengliang/p/13760269.html