【发布时间】:2015-07-18 07:39:36
【问题描述】:
我有 XML 格式的电子邮件数据,我正在尝试将其加载到多个 SAS 表中。 XML 的结构不是扁平的,并且在层次结构中有多个级别。从这个 XML 文件中,我想创建几个 SAS 表(例如,发件人、收件人、附件、电子邮件正文和元数据......)。显然,对于一封电子邮件,将有一个发件人,一封电子邮件,但有任意数量的收件人和附件。为此,我目前正在使用 XML Map 文件将数据转换为我需要的表。
我遇到的问题是,通过将 xmlv2 引擎与 MAP 文件一起使用,SAS 似乎为我要创建的每个表读取一次 XML 文件。这会产生一个问题,因为它不能很好地扩展!例如,如果我有 200GB 的 XML 文件并想创建 10 个表,我将读取 2TB 的数据来执行此操作。有没有更好的方法来处理 XML 文件,这样我只需执行一次文件即可将所有数据读入 SAS 数据集?
提前致谢。
【问题讨论】:
-
如何将 xmlv2 引擎与地图文件一起使用? IE,所以你有一个
libname xmlv2 myxmlf "blah.xml";,现在你要做什么来创建你的十个文件? -
有没有一种方法可以预处理 XML 文件以将它们全部组合成一个巨大的 XML 文件。这样,每个表只会读取一次文件。仍然不理想但也许可行?
-
我以前导入 4GB XML,耗时很长。您可以考虑在导入 SAS 之前对数据进行预处理。