hive get_json_object函数是否会解析每个json对象以获得字段解析,即使我们在json数据上创建了一个视图?使用serde读取json数据时遇到问题。因此,我们希望使用这个自定义项并在数据之上创建视图。问题是担心将来使用此路径对数据的查询可能会很慢。如果在配置单元表的顶部创建一个视图,则在创建视图时只解析一次数据,这将非常有用。Hive是否支持这一点?HiveMaven对此有什么想法吗?
ui7jx7zq1#
查看的目的是对用户隐藏复杂查询。假设您执行了一些复杂的联接查询以获取所有销售数据。现在您希望最终用户启动查询,如select*from sales以获取所有销售数据,这样您就可以进行查看。无论何时在查询中使用视图,它都会为该视图运行map reduce作业,因此不会对速度进行任何改进。对于您的问题,一种解决问题的方法是尽可能将所有解析数据存储到另一个表中,然后激发查询,这样可以减少每次调用serde的成本。我在网络日志中采用了这种方法。
a14dhokn2#
我相信Hive确实支持这种观点。如果你担心它的速度,你可以加载 impala 相反。它使用的元数据和表与 hive ,但对于用户查询来说速度要快得多。
impala
hive
2条答案
按热度按时间ui7jx7zq1#
查看的目的是对用户隐藏复杂查询。假设您执行了一些复杂的联接查询以获取所有销售数据。现在您希望最终用户启动查询,如select*from sales以获取所有销售数据,这样您就可以进行查看。无论何时在查询中使用视图,它都会为该视图运行map reduce作业,因此不会对速度进行任何改进。
对于您的问题,一种解决问题的方法是尽可能将所有解析数据存储到另一个表中,然后激发查询,这样可以减少每次调用serde的成本。我在网络日志中采用了这种方法。
a14dhokn2#
我相信Hive确实支持这种观点。如果你担心它的速度,你可以加载
impala
相反。它使用的元数据和表与hive
,但对于用户查询来说速度要快得多。