【问题标题】:Hash Merge in SASSAS中的哈希合并
【发布时间】:2019-01-24 08:58:34
【问题描述】:

我有 8 个不同的表,每个表有 2400 万到 4000 万条记录。其中一个表是主表,用于连接其他 7 个表。

我的问题是,在处理如此大的数据集时,使用哈希合并是否可行?我尝试了一种我在网上学到的散列技术,但我的系统在加载主表本身时内存不足。

在 SAS 中还有其他合并大型数据集的有效方法吗?

另外,谁能帮我用一个 sn-p 将这些表合并在一起。它们都基于不同的属性与主表合并。

注意:每个场景中都有多对一的合并

【问题讨论】:

  • 这个问题已经成熟,可以结束了。请添加有关您的系统资源、数据集(表)结构和演示问题的代码的信息。如果未使用的多余信息存储在散列中,则列数可能是资源占用因素。一些用例使用 SET 迭代主表,而将其他表加载到散列中。是否尝试使用 MERGE 语句或 SQL 连接并认为解决方案不足?
  • 根据您所说的,您最好使用多部分联接,该联接可以是哈希表、合并语句或 SQL 联接的混合,具体取决于要求。

标签: hash merge sas


【解决方案1】:

在这些数据上创建索引。 或者将主表分成更小的部分,对每一个部分执行 Proc SQL,然后合并它们。

【讨论】:

  • 既然数据大约有40M条记录,那么proc sql不会很快耗尽内存吗?我在 SAS 哈希表上读到的很少,这些使用 data NULL 语句。可能我理解错了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-28
  • 2014-04-16
  • 1970-01-01
  • 2020-07-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多