【问题标题】:MapReduce Code for executing .ds2 scoring file in hadoop cluster用于在 hadoop 集群中执行 .ds2 评分文件的 MapReduce 代码
【发布时间】:2016-03-22 09:31:57
【问题描述】:

我有一个从 SAS 评分加速器创建的 .ds2 文件。 sas 评分加速器有一个宏 %INDHD_RUN_MODEL,它在内部创建一个 MapReduce 代码来执行 .ds2 文件。

如何查看代码或如何创建类似的 mapreduce 代码。 这样我就可以通过 oozie 安排评分。

【问题讨论】:

    标签: hadoop mapreduce sas oozie scoring


    【解决方案1】:

    %indhd_run_model 宏被预编译并存储在SASHOME\SASFoundation\9.4\accelmvahadp\cmacros 中。看来这段代码的开发者想要隐藏内容。

    libname macros 'C:\SAS\SASHome\SASFoundation\9.4\accelmvahadp\cmacros';
    options sasmstore=macros mstored;
    
    %COPY indhd_run_model / source;
    

    注意:宏 %INDHD_RUN_MODEL 是使用 /SECURE 选项编译的。不会为此 %COPY 语句生成任何输出。

    错误:/SOURCE 选项未指定 INDHD_RUN_MODEL 已编译。

    由于启用了/secure选项,无法具体查看Hadoop代码模板;但是,您可以通过在 SAS 中启用以下选项来获得更好的洞察力:

    options mlogic mlogicnest sastrace=',,,d' sastraceloc=saslog nostsuffix;

    这将开启一些事情:

    1. 正在运行的宏的不同部分的实际逻辑
    2. SAS 发送的 HiveQL 查询,以及来自 Hadoop 的响应;输出在 SAS 日志中

    您还可以使用sastrace 选项的参数来获取different types of information

    在最坏的情况下,您需要联系 SAS 技术支持以获取有关该问题的更多帮助。我建议您致电,因为您会得到更快的回复。

    【讨论】:

      【解决方案2】:

      您可以调度 %INDHD_RUN_MODEL,但不能直接调度 map-reduce 作业。SAS EP(嵌入式进程)将 .ds2 代码转换为 map-reduce 作业,然后执行它。整个过程对最终用户来说应该是一个黑匣子。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多