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

nfzehxib  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(356)

我在hdfs上有avro序列化数据。现在我正在尝试构建一个搜索接口,在这里我可以查询avro数据并获取结果。我可以使用以下方法,但它有一些缺点:
反序列化avro数据并将其添加到hive store中,使用solr/lucene构建索引层并运行查询。如果avro模式有多个层,比如

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

现在,存储上述层次数据记录将是困难的。另外,我不想复制数据,比如反序列化avro记录和存储在文档存储中。它引入了大量的复制。所以,我正在寻找一个基于avro序列化数据的serach工具(有多个层次结构)。如果现有的工具已经解决了这个问题。请给我指一下那些。

hfyxw5xn

hfyxw5xn1#

大型云提供商现在有了搜索avro文件的解决方案。aws athena和bigquery是可能解决您的问题的两个服务示例。尤其是如果您愿意从hdfs切换到s3或类似的服务。

9nvpjoqh

9nvpjoqh2#

如果您使用java,sortedkeyvaluefile可能是一个值得探索的替代方案。目前,我还没有发现类似的python或c/c++实现。这显然不是一般的 BigQuery ; 但是,它可以解决只需要在文件中按键查询的用例。

相关问题