在avro序列化数据上构建搜索层索引

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在avro序列化数据上构建搜索层索引相关的知识,希望对你有一定的参考价值。

我在hdfs上有我的avro序列化数据。现在我正在尝试构建一个搜索界面,我可以在其中查询avro数据并获取结果。我可以使用以下方法,但它有一些不利之处:

反序列化avro数据并将其添加到hive存储中,并使用一些solr / lucene构建索引层并运行查询。如果avro架构有多个层,例如

   {
        name: "xyz",
        height: "180cm",
        Cities_residing: ["X", "Y", "Z"]
        Hotels_checkedin : ["X", "Y", "Z"],
        itemX : {
            itemY : {
                itemZ : "546"
                    }
                }
    }

现在,存储上述分层数据记录将是困难的。此外,我不想复制数据,如反序列化avro记录和存储在某些文档存储中。它介绍了很多复制。因此,我正在寻找一个avro序列化数据(具有多个层次结构)的搜索工具。如果现有工具已经解决了这个问题。请指出那些。

答案

大型云提供商现在拥有搜索avro文件的解决方案。 AWS AthenaBigQuery是可以解决您的问题的两个服务示例。特别是如果您愿意从hdfs切换到S3或类似的服务。

以上是关于在avro序列化数据上构建搜索层索引的主要内容,如果未能解决你的问题,请参考以下文章

从 BigQuery 读取数据并将其写入云存储上的 avro 文件格式

在 avro 中存储模式有啥好处?

protobuf编译安装

反序列化 Avro Spark

在Kafka中使用Avro编码消息:Producter篇

我们可以使用嵌入在 avro 记录中的模式来反序列化值吗?