• 海淀:社区中的快乐暑假 2019-04-13
  • 大运河文化带非遗大展 紫檀制德胜门大放异彩 2019-04-08
  • 通俄门调查:美联邦调查局官员称愿赴国会作证 2019-04-03
  • 河北馆陶:端午节火了“艾旅游” 2019-04-03
  • 马天宇《纳西索斯》首发 变身自恋狂魔马天宇 2019-03-26
  • 四川:高宇化工230万吨磷石膏渣违法堆存——高宇化工被挂牌督查 2019-03-26
  • 刘珂矣首张禅意中国风专辑《半壶纱》悦然发声 刘珂矣 2019-03-15
  • 人民日报评论员:一以贯之坚持和发展中国特色社会主义 2019-03-06
  • 尖峰对话:新经济形势下金融创新的变革与机遇 2019-03-06
  • 一语惊坛(6月5日):担当新使命,展现新作为。 2019-03-04
  • 纪念中国福利会成立80周年大会在上海举行 2019-03-03
  • 冷少农写给儿子的家书 2019-02-27
  • 浙江大学科研团队潜心十五载 飞机装配有了国产自动化设备 2019-02-27
  • 孙中山曾想把共产党开除出国民党 2019-02-21
  • 紫光阁中共中央国家机关工作委员会 2019-02-20
  • 当前位置 > CPDA数据分析师 > “数”业专攻 > Hadoop - 实时查询Drill

    天津福彩快乐十分走势:Hadoop - 实时查询Drill

    浙江快乐彩和值走势图 www.pn-vs.com 来源:数据分析师 CPDA | 时间:2015-11-26 | 作者:admin

    1.概述

    在现实业务当中,存在这样的业务场景,需要实时去查询HDFS上的相关存储数据,普通的查询(如:Hive查询),时延较高。那么,是否存在时延较小的查询组件。在业界目前较为成熟的有Cloudera的Impala,Apache的Drill,Hortonworks的Stinger。本篇博客主要为大家介绍Drill,其他两种方式大家可以自行下去补充。

    2.Drill Architecture

    2.1 Cilent

    使用Drill,可以通过以下方式进入到Drill当中,内容如下所示:

    • Drill shell:使用客户端命令去操作
    • Drill Web Console:Web UI界面去操作相关内容
    • ODBC/JDBC:使用驱动接口操作
    • C++ API:C++的API接口

    2.2 Drill Query Execution

    执行流程如下图所示:

    151125140542925 - Hadoop - 实时查询Drill

    2.3 Core Modules

    核心模块图,如下所示:

    151125140542929 - Hadoop - 实时查询Drill

     

    3.Drill使用

    介绍完Drill的架构流程,下面我们可以去使用Drill去做相关查询操作。安装Drill的过程比较简单,这里就不多做详细的赘述了。首先,去Apache的官网下载Drill的安装包,这里笔者所使用的本版是drill-1.2.0。可独立部署在物理机上,不必与Hadoop集群部署在一起。这里需要注意的是,物理机的内存至少留有4G空闲给Drill去使用。不然,在执行查询操作的时候会内容溢出,查询Drill的官方文档,官方给出的解释是,操作的内容都在内容中完成,不会写磁盘,除非你强制指明去写磁盘,但是,一般考虑到响应速度因素,都会在内容中完成。笔者曾试图降低其内存配置小于4G,然并卵。所以,在使用Drill做查询时,需要保证物理机空闲内存大于等于4G。

    目前,Drill迭代版本比较快速。大家在下载Drill版本的时候,可以多多留意下版本内容变化。

    在解压Drill的压缩包后,在其conf文件夹下有一个drill-override.conf文件,这里我们在里面添加Web UI的访问地址,添加的内容我们可以在drill-override-example.conf模版文件中查找对应的内容。添加内容如下所示:

    drill.exec: {
      cluster-id: "drillbits1",
      zk.connect: "dn1:2181,dn2:2181,dn2:2181",
      http: {
        enabled: true,
        ssl_enabled: false,
        port: 8047
      }
    }

    这里需要注意的是,Drill需要用ZK,这里笔者就直接使用Hadoop集群的ZooKeeper集群连接信息地址。在添加完内容后,可以使用以下命令启动。

    ./drillbit.sh start

    启动之后,Web UI界面如下所示:

    151125140542928 - Hadoop - 实时查询Drill

    目前条件有限,只有单台物理机,所以只部署了单台Drill。若是,大家条件允许,可以查看官网文档去部署Cluster。Drill插件默认是没有HDFS的,需要我们主动去创建,默认只有以下插件,如下图所示:

    151125140542927 - Hadoop - 实时查询Drill

    这里,笔者已经配置过HDFS的插件,故上图出现HDFS插件信息,其配置信息如下所示:

    {
      "type": "file",
      "enabled": true,
      "connection": "hdfs://hadoop.company.com:9000/",
      "workspaces": {
        "root": {
          "location": "/opt/drill",
          "writable": true,
          "defaultInputFormat": null
        }
      },
      "formats": {
        "csv": {
          "type": "text",
          "extensions": [
            "csv"
          ],
          "delimiter": ","
        },
        "tsv": {
          "type": "text",
          "extensions": [
            "tsv"
          ],
          "delimiter": "\t"
        },
        "parquet": {
          "type": "parquet"
        }
      }
    }

    PS:这里要保证HDFS的地址信息正确。另外,Drill支持的存储介质较多,大家参考官方文档去添加对应的存储介质。

    在添加HDFS插件之后,我们可以通过Web UI界面的查询界面进行文件查询,也可以使用Drill Shell命令在终端去查询。查询方式如下所示:

    • Web UI查询命令:

    151125140542924 - Hadoop - 实时查询Drill

    • Web UI结果如下:

    151125140542923 - Hadoop - 实时查询Drill

    另外,其查询记录详情可以在Profiles模块下查看。如下图所示:

    151125140542922 - Hadoop - 实时查询Drill

    • Drill Shell查询:
    ./sqlline -u jdbc:drill:zk=dn1,dn2,dn3:2181
    • Drill Shell 查询结果:

    151125140542926 - Hadoop - 实时查询Drill

    4.总结

    这里,笔者做过一个性能测试比较,数量级分别为10W,100W,1000W的不重复数据,其响应时间依次递增。结果如下图所示:

    151125140542921 - Hadoop - 实时查询Drill

    通过测试结果可以看出,若是数量级在100W时,响应时间平均在秒级别,可以尝试用Drill去中OLTP业务。若是在1000W以上级别,显然这个延时做OLTP是难以接受的,这个可以去做OLAP业务。

  • 海淀:社区中的快乐暑假 2019-04-13
  • 大运河文化带非遗大展 紫檀制德胜门大放异彩 2019-04-08
  • 通俄门调查:美联邦调查局官员称愿赴国会作证 2019-04-03
  • 河北馆陶:端午节火了“艾旅游” 2019-04-03
  • 马天宇《纳西索斯》首发 变身自恋狂魔马天宇 2019-03-26
  • 四川:高宇化工230万吨磷石膏渣违法堆存——高宇化工被挂牌督查 2019-03-26
  • 刘珂矣首张禅意中国风专辑《半壶纱》悦然发声 刘珂矣 2019-03-15
  • 人民日报评论员:一以贯之坚持和发展中国特色社会主义 2019-03-06
  • 尖峰对话:新经济形势下金融创新的变革与机遇 2019-03-06
  • 一语惊坛(6月5日):担当新使命,展现新作为。 2019-03-04
  • 纪念中国福利会成立80周年大会在上海举行 2019-03-03
  • 冷少农写给儿子的家书 2019-02-27
  • 浙江大学科研团队潜心十五载 飞机装配有了国产自动化设备 2019-02-27
  • 孙中山曾想把共产党开除出国民党 2019-02-21
  • 紫光阁中共中央国家机关工作委员会 2019-02-20