代码之家  ›  专栏  ›  技术社区  ›  VladoDemcak

近实时查询hdfs[关闭]

  •  2
  • VladoDemcak  · 技术社区  · 7 年前

    在我们有数据的情况下,我们正在努力查询hdfs。

    我们有卡夫卡的消息来源。这些检测是实时的,我们希望能够通过数据进行搜索。作为一个集成工具,我们尝试使用flume或spark将数据保存到hdfs,并在查询hdfs顶部的数据后使用 蜂巢 spark jdbc/odbc服务器 .

    enter image description here

    目前,这种方法和 spark jdbc/odbc服务器 b/c很好,我们不关心实时性,但现在我们 希望有近实时的查询。 为了提高性能,我们尝试了 sequence files parquet files 但还是要花太多时间。

    HBase 但我们需要使用自定义 UDF 我们在蜂巢里用的。自从 Impala doesn't support complex types

    因为我们已经 SQL 能够使用配置单元处理数据的语句我希望使用类似SQL的语句,因此我们在 Hbase .

    但在玩之前 我想知道HBase是否适合像 自定义项 如果结果是~3秒。

    我在考虑第二个选择。有完全不同的框架/存储。例如Casandra或elasticsearch,但是我们希望使用hdfs作为存储,但是我们怀疑hdfs不适合使用自定义的实时查询 自定义项

    任何建议或想法都是非常感谢的!


    编辑 关于环境和结果的一些细节。

    实际上我们用 Thrift JDBC/ODBC server 正如@cricket_所提到的(我通常称之为hive,抱歉,我已经更新了OP),而且由于flume/spark生成的小文件太多,查询速度很慢。

    序列文件

    拼花锉 SQL SELECT 没有看到最新的数据。所以我们得跑 MSCK REPAIR TABLE 7000行大约需要8分钟。查询~7000行需要~50秒~1分钟。

    start-thriftserver.sh 具有 local[*] .

    我想它仍然太慢,无法取得结果,即使它在本地模式。 grep -c ^processor /proc/cpuinfo

    0 回复  |  直到 7 年前