Hadoop 如何优化配置单元中1个大型文件/表格的扫描,以确认/检查wkt几何图形中是否包含lat long点
我目前正在尝试将设备上的每个lat-long ping与其邮政编码关联起来 我已经对lat-long设备ping数据进行了非标准化,并创建了一个跨积/笛卡尔积联接表,其中每一行都有ST_点(long,lat)、几何体、ZIP的形状以及该几何体的相关邮政编码。出于测试目的,我在表中有大约4500万行,它的产量将增加到每天约10亿行 即使数据被展平并且没有连接条件,查询也需要大约2小时才能完成。有没有更快的方法来计算空间查询?或者如何优化以下查询 内联是我已经执行的一些优化步骤。使用优化,除了这一步之外,所有其他操作最多可在5分钟内完成。我使用的是aws群集2个主节点和5个数据节点Hadoop 如何优化配置单元中1个大型文件/表格的扫描,以确认/检查wkt几何图形中是否包含lat long点,hadoop,hive,geospatial,spatial,hiveql,Hadoop,Hive,Geospatial,Spatial,Hiveql,我目前正在尝试将设备上的每个lat-long ping与其邮政编码关联起来 我已经对lat-long设备ping数据进行了非标准化,并创建了一个跨积/笛卡尔积联接表,其中每一行都有ST_点(long,lat)、几何体、ZIP的形状以及该几何体的相关邮政编码。出于测试目的,我在表中有大约4500万行,它的产量将增加到每天约10亿行 即使数据被展平并且没有连接条件,查询也需要大约2小时才能完成。有没有更快的方法来计算空间查询?或者如何优化以下查询 内联是我已经执行的一些优化步骤。使用优化,除了这一步
set hive.vectorized.execution.enabled = true;
set hive.execution.engine=tez;
set hive.enforce.sorting=true;
set hive.cbo.enable=true;
set hive.compute.query.using.stats=true;
set hive.stats.fetch.column.stats=true;
set hive.stats.fetch.partition.stats=true;
analyze table tele_us_zipmatch compute statistics for columns;
CREATE TABLE zipcheck (
`long4` double,
`lat4` double,
state_name string,
country_code string,
country_name string, region string,
zip int,
countyname string) PARTITIONED by (state_id string)
STORED AS ORC TBLPROPERTIES ("orc.compress" = "SNAPPY",
'orc.create.index'='true',
'orc.bloom.filter.columns'='');
INSERT OVERWRITE TABLE zipcheck PARTITION(state_id)
select long4, lat4, state_name, country_code, country_name, region, zip, countyname, state_id from tele_us_zipmatch
where ST_Contains(wkt_shape,zip_point)=TRUE;
ST_Contains是来自esri的函数(参考:)
非常感谢您的帮助
谢谢。如果邮政编码数据集可以放入内存,请尝试一个自定义Map Reduce应用程序,通过调整
[collaborator]如果邮政编码数据集可以放入内存,请尝试一个自定义Map Reduce应用程序,通过调整
[collaborator]对于您或您的组织,是否可以为自定义map reduce应用程序编写自定义Java代码?我们还没有在mapreduce中尝试过。然而,当我们在informatica中编写java转换时,没有什么可以阻止我们。如果它加快了流程,我们可以利用该选项。对于您或您的组织来说,它是为自定义map reduce应用程序编写自定义Java代码的选项吗?我们还没有使用mapreduce尝试过。然而,当我们在informatica中编写java转换时,没有什么可以阻止我们。如果它能加快进程,我们可以利用这个选项。谢谢你给我指点存储库。我会尽快运行此程序,并将结果反馈给您。使用四叉树索引非常有效!在一个小测试集群中,我能够在大约6分钟内处理超过4000万条条目。它花了一些时间来读取wkt并处理多个多边形,最终它是值得的。我仍然认为代码可以优化。我们以后再做!令人惊讶的MapReduce比所有配置单元优化都快。-谢谢你给我指点存储库。我会尽快运行此程序,并将结果反馈给您。使用四叉树索引非常有效!在一个小测试集群中,我能够在大约6分钟内处理超过4000万条条目。它花了一些时间来读取wkt并处理多个多边形,最终它是值得的。我仍然认为代码可以优化。我们以后再做!令人惊讶的MapReduce比所有配置单元优化都快。-谢谢