`

drill1.0配置hive storage plugin及测试

阅读更多

drill1.0配置hive storage plugin及测试

drill,hive


截止到目前本博客发布前,apache drill最新发布版本是1.0.0,对与此版本的数据源支持和文件格式的支持:

  • avro
  • parquet
  • hive
  • hbase
  • csv tsv psv
  • File system 
    对于目前我的需求:snappy+sequencefile 的hdfs存储格式,drill没有直接的支持,想到hive支持查询snappy+sequencefile,而drill支持hive,由此产生了是否可以通过hive storage plugin的方式来读取snappy+sequencefile? 经查证是可以的,配置如下:

    1. hive开启metastore的thrift服务:在hive-site.xml中加入如下配置 
      1. <property>
      2. <name>hive.metastore.uris</name>
      3. <value>thrift://10.170.250.47:9083</value>
      4. </property>
      5. <property>
      6. <name>hive.metastore.local</name>
      7. <value>false</value>
      8. </property>

    启动metastore服务:

    1. [hadoop@gateway local]$ ../hive-1.2.1/bin/hive --service metastore &
    1. 从drill的web ui上配置hive的plugin: 
      1. {
      2. "type":"hive",
      3. "enabled":true,
      4. "configProps":{
      5. "hive.metastore.uris":"thrift://10.170.250.47:9083",#hivemetastore服务地址和端口
      6. "javax.jdo.option.ConnectionURL":"jdbc:mysql://xxx:3306/hive_database",
      7. "hive.metastore.warehouse.dir":"/user/hive/warehouse",#为hivehdfs上的warehouse目录
      8. "fs.default.name":"hdfs://xxx:9000",
      9. "hive.metastore.sasl.enabled":"false"
      10. }
      11. }

    保存退出后,重启drillbit服务

    1. [hadoop@gateway drill-1.1.0]$ bin/drillbit.sh restart
    2. ```
    3. 3. 查询sequencefile测试:
    4. ``` shell
    5. [hadoop@gateway drill-1.1.0]$ bin/sqlline -u jdbc:drill:zk=10.172.171.229:2181
    6. apache drill 1.0.0
    7. "the only truly happy people are children, the creative minority and drill users"
    8. 0: jdbc:drill:zk=10.172.171.229:2181>use hive.ai;
    9. +-------+--------------------------------------+
    10. | ok | summary |
    11. +-------+--------------------------------------+
    12. |true|Default schema changed to [hive.ai]|
    13. +-------+--------------------------------------+
    14. 1 row selected (0.188 seconds)
    15. 0: jdbc:drill:zk=10.172.171.229:2181>!table
    16. +------------+---------------------+---------------------+-------------+----------+-----------+-------------+------------+----------------------------+-----------------+
    17. | TABLE_CAT | TABLE_SCHEM | TABLE_NAME | TABLE_TYPE | REMARKS | TYPE_CAT | TYPE_SCHEM | TYPE_NAME | SELF_REFERENCING_COL_NAME | REF_GENERATION |
    18. +------------+---------------------+---------------------+-------------+----------+-----------+-------------+------------+----------------------------+-----------------+
    19. | DRILL | INFORMATION_SCHEMA | CATALOGS | TABLE |||||||
    20. | DRILL | INFORMATION_SCHEMA | COLUMNS | TABLE |||||||
    21. | DRILL | INFORMATION_SCHEMA | SCHEMATA | TABLE |||||||
    22. | DRILL | INFORMATION_SCHEMA | TABLES | TABLE |||||||
    23. | DRILL | INFORMATION_SCHEMA | VIEWS | TABLE |||||||
    24. | DRILL | hive.ai | metric_data_entity | TABLE |||||||
    25. | DRILL | sys | boot | TABLE |||||||
    26. | DRILL | sys | drillbits | TABLE |||||||
    27. | DRILL | sys | memory | TABLE |||||||
    28. | DRILL | sys | options | TABLE |||||||
    29. | DRILL | sys | threads | TABLE |||||||
    30. | DRILL | sys | version | TABLE |||||||
    31. +------------+---------------------+---------------------+-------------+----------+-----------+-------------+------------+----------------------------+-----------------+
    32. 0: jdbc:drill:zk=10.172.171.229:2181> SELECT count(1) FROM metric_data_entity where pt='2015080510';
    33. +-----------+
    34. | EXPR$0 |
    35. +-----------+
    36. |40455402|
    37. +-----------+
    38. 1 row selected (14.482 seconds)
    39. 0: jdbc:drill:zk=10.172.171.229:2181>
    40. ```
    41. 以上查询已经可以支持sequencefile查询,但是查询有压缩的snappy的文件就报错:
    42. ```
    43. 2015-08-0516:34:49,067[WorkManager-2] ERROR o.apache.drill.exec.work.WorkManager- org.apache.drill.exec.work.WorkManager$WorkerBee$1.run() leaked an exce
    44. ption.
    45. java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCodeLoader.buildSupportsSnappy()Z
    46. at org.apache.hadoop.util.NativeCodeLoader.buildSupportsSnappy(NativeMethod)
    47. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)~[na:1.7.0_85]
    48. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[na:1.7.0_85]
    49. at java.lang.Thread.run(Thread.java:745)[na:1.7.0_85]
    50. 2015-08-0516:39:05,781[UserServer-1] INFO o.a.drill.exec.work.foreman.Foreman-State change requested. RUNNING --> CANCELLATION_REQUESTED

    很明显要配置snappy的本地库:LD_LIBRARY_PATH环境变量,请配置下面的第四步

  1. 配置LD_LIBRARY_PATH=/oneapm/local/hadoop-2.7.1/lib/native的 系统环境变量 并加入到CLASSPATH中
  • 参考文献:
  • https://drill.apache.org/docs/hive-storage-plugin/
  • https://gist.github.com/vicenteg/7e060e79603f1e7ed3b4
  • http://blog.csdn.net/reesun/article/details/8556078
  • 分享到:
    评论

    相关推荐

      Apache Drill技术手册

      Storage Plugin 是一种插件机制,允许用户注册和配置不同的存储系统,包括 HDFS、Hive、HBase、MongoDB 等。 3. 数据源和存储插件 Apache Drill 支持多种类型的数据源,包括本地文件、HDFS、Hive、HBase、MongoDB...

      apache-drill-jdbc-plugin:适用于Apache Drill的JDBC插件

      apache-drill-jdbc-plugin 适用于Apache Drill的JDBC插件 下载Apache Drill 0.9。 将代码添加到contrib中,然后用此文件夹中的pom文件替换现有的pom文件。 用mvn构建。 要仅生成软件包,请使用与以下类似的符号:...

      apache_drill_tutorial.pdf

      与传统的Hive不同,Drill不依赖MapReduce作业,并且它并不完全基于Hadoop生态系统。实际上,Drill的设计灵感来源于Google的Dremel概念,这是一种用于大规模数据查询的高效工具,后来演变为Apache软件基金会的一个...

      Learning Apache Drill 2019.pdf

      书中可能会详细解释如何安装、配置和运行Drill,以及如何使用Drill的Web界面。它也会教授读者如何编写SQL查询,如何优化这些查询,以及如何处理查询过程中可能遇到的问题。 再者,根据书的描述,Apache Drill能够与...

      使用Apache Drill技术

      ### 使用Apache Drill技术详解 #### 一、Apache Drill概述 **Apache Drill** 是一款用于大数据交互式分析的强大工具,属于开源分布式系统。它的主要特点包括: - **支持多种数据源和格式**:不仅可以处理传统的...

      Learning Apache Drill

      安装Apache Drill通常涉及下载最新版本的发行包,配置`drill-conf/drill-override.conf`文件以设置数据源和集群参数,然后启动`drillbit`服务。同时,安装相应的存储插件以访问特定的数据源。 4. **SQL支持** ...

      drill-storage-http:用于 apache 钻取的 http 存储插件

      存储配置: { "type": "http", "connection": "http://btrabbit.com:8000", "resultKey": "results", "enabled": true } 样品: select name from (select name, length from ...

      DiskDrill 1.8 含注册机,注册机1.6-1.8通用

      **DiskDrill 1.8 数据恢复软件详解** DiskDrill是一款强大的数据恢复工具,尤其在Mac操作系统中表现优秀。该软件的主要功能是帮助用户恢复意外丢失或删除的文件,无论是由于误操作、系统崩溃还是硬件故障导致的数据...

      disk drill 破解版, windowns 版

      disk drill 破解版, windowns 版。用于磁盘文件恢复,不限量

      Cognos Drill Up/Down

      ### Cognos Drill Up/Down:深入理解与应用 ...总之,Cognos的Drill Up/Down功能是其数据分析能力的关键组成部分,通过合理的配置和使用,可以极大地提升数据洞察的深度和广度,帮助决策者做出更加明智的判断。

      HiveUDF:蜂巢样本UDF

      HiveUDF 此Hive UDF示例代码包含2个函数:MyUpper()和MyContains() 它们在Hive 0.12、0.13和1.0中进行了测试。 要使Hive UDF在Drill中工作,请关注以下博客:一种。 如何制作罐子mvn package ## b。 准备一个带...

      Altium输出gerber&Drill详细方法和步骤

      ### Altium输出Gerber & Drill 文件的详细方法与步骤 #### 一、Altium输出Gerber文件 在Altium Designer中输出Gerber文件是电路板制造的重要步骤之一,它能够确保设计者的设计意图准确无误地传递给制造商。以下是...

      DrillJDBCExample:一些用于通过JDBC连接到Drill的示例Java代码

      我们假设您已经在集群模式下安装并配置了 Drill(使用 zookeeper 实例)。 您只需要一个钻头就可以进行测试。 你不需要任何数据。 测试查询将使用随钻提供的数据。 数据存储在 Drill 的类路径中。 使用 Drill ...

      disk drill文件恢复工具

      文件恢复工具,U盘恢复,硬盘恢复,文件恢复,disk drill破解版,免费

      echarts3-chinese-map-drill-down.zip

      在“echarts3-chinese-map-drill-down”这个例子中,可能包含了一系列配置文件和JavaScript脚本,用于设置地图样式、下钻行为以及数据绑定。 在使用ECharts构建这类交互式地图时,我们需要关注以下几个关键知识点:...

      disk_drill_Recuva.7z

      标题 "disk_drill_Recuva.7z" 暗示了这是一个包含两种文件恢复软件的压缩包,分别是 Disk Drill 和 Recuva。这两款工具都是为了帮助用户在误删除、格式化或其他数据丢失情况下找回重要文件。下面将详细介绍这两个...

      Protel中输出Gerber File及Drill File的方法

      在电子制造过程中,Gerber File和Drill File是至关重要的文件类型,它们分别用于描述电路板的印刷电路层和钻孔信息。下面将详细介绍如何在Protel中输出这两种文件。 1. 输出Gerber File: Gerber File是PCB制造的...

      Apache Drill常用函数

      Apache Drill是一款强大的、跨平台的数据查询引擎,专为大数据分析设计。它支持SQL查询语言,使得用户能够方便地处理各种不同类型的数据源,如Hadoop、NoSQL数据库、云存储等。在Apache Drill 1.18版本中,我们找到...

      [Windows] 专业数据资料文件恢复软件Disk Drill Pro

      Disk Drill由多种数据恢复算法支持,可以读取NTFS, FAT32, EXT, HFS+和其他的文件系统。恢复在你系统硬盘和外部设备、SD卡和U盘、其他的笔记本电脑和计算机上由于误删除而丢失的数据。 快速而且简单全面的数据恢复,...

    Global site tag (gtag.js) - Google Analytics