【问题标题】:WSO2 DAS spark scriptWSO2 DAS 火花脚本
【发布时间】:2016-10-11 18:13:15
【问题描述】:

我正在尝试部署新的数据发布者汽车。我查看了 APIM_LAST_ACCESS_TIME_SCRIPT.xml 火花脚本(由 api 管理器使用)并且不明白创建的两个临时表之间的区别:API_LAST_ACCESS_TIME_SUMMARY_FINALAPILastAccessSummaryData

【问题讨论】:

    标签: wso2 wso2-das


    【解决方案1】:

    这两个 Spark 临时表代表不同的 JDBC 表(可能在不同的数据源中),其中一个充当 Spark 的源,另一个充当目标。

    为了更好地说明这一点,请查看相关的简化脚本:

    create temporary table APILastAccessSummaryData using CarbonJDBC options (dataSource "WSO2AM_STATS_DB", tableName "API_LAST_ACCESS_TIME_SUMMARY", ... );
    
    CREATE TEMPORARY TABLE API_LAST_ACCESS_TIME_SUMMARY_FINAL USING CarbonAnalytics OPTIONS (tableName "API_LAST_ACCESS_TIME_SUMMARY", ... );
    
    INSERT INTO TABLE APILastAccessSummaryData select ... from API_LAST_ACCESS_TIME_SUMMARY_FINAL;
    

    如您所见,我们首先在 Spark 中创建一个名为 APILastAccessSummaryData 的临时表,它表示 WSO2AM_STATS_DB 数据源中名为 API_LAST_ACCESS_TIME_SUMMARY 的实际关系数据库表。注意using CarbonJDBC 关键字,它可用于直接映射 Spark 中的 JDBC 表。此类表(及其行)未编码,用户可以读取。

    其次,我们正在创建另一个名为 API_LAST_ACCESS_TIME_SUMMARY_FINAL 的 Spark 临时表。然而,在这里,我们使用的是 CarbonAnalytics 分析提供程序,这意味着该表将不是一个普通的 JDBC 表,而是一个类似于您的 previous question 的编码表。

    现在,从第三条语句中,您可以看到我们正在从第二个表 API_LAST_ACCESS_TIME_SUMMARY_FINAL 中读取 (SELECT) 多个字段,并将它们 (INSERT INTO) 插入到第一个表中,即 APILastAccessSummaryData。这代表 Spark 汇总过程。

    要详细了解 CarbonAnalyticsCarbonJDBC 分析提供程序之间的区别或 Spark 如何处理此类表,请查看 Spark Query Language 的文档页面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-22
      • 1970-01-01
      • 1970-01-01
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 2016-10-31
      • 1970-01-01
      相关资源
      最近更新 更多