Sqlite 从SAP BO到Spark Thrift Server的SYNTHJOIN查询

Sqlite 从SAP BO到Spark Thrift Server的SYNTHJOIN查询,sqlite,apache-spark,business-objects,mapr,spark-thriftserver,Sqlite,Apache Spark,Business Objects,Mapr,Spark Thriftserver,当前架构: 在我们当前的体系结构中,我们使用Hadoop文件系统以拼花文件格式存储报告数据,我们使用Spark Thrift Server通过SQL接口(JDBC/ODBC)公开这些数据。使用此接口,SAP BO被配置为提取报告的数据 BO版本:SAP BO 4.2 SP07 Spark版本:2.1.0 当前行为: 我们有一个中等级别的查询,它由一个包含28个联接的报表生成(显示在查询面板中) 但当报告在Webi中运行时,我们看到Spark中触发了一个不同的查询(核心逻辑相同),每个字段、表和联

当前架构:

在我们当前的体系结构中,我们使用Hadoop文件系统以拼花文件格式存储报告数据,我们使用Spark Thrift Server通过SQL接口(JDBC/ODBC)公开这些数据。使用此接口,SAP BO被配置为提取报告的数据

BO版本:SAP BO 4.2 SP07

Spark版本:2.1.0

当前行为:

我们有一个中等级别的查询,它由一个包含28个联接的报表生成(显示在查询面板中)

但当报告在Webi中运行时,我们看到Spark中触发了一个不同的查询(核心逻辑相同),每个字段、表和联接都添加了复杂的长字符串别名(下面是两列的片段)

问题:

  • 我能理解为什么在查询中添加长别名的原因吗
  • 由于Spark 2.1.0对查询()仅支持64k字节的值,因此基于此查询生成的查询将与此64k值交叉。所以spark的工作失败了。我们希望减少并保持这些别名简单明了,以避免64K的障碍。请建议SAP BO中缺少的任何配置
  • 我们还注意到,SAP BO生成的是一个冗长的子查询,而不是简单的联接查询。SAP BO中是否有任何配置可以将查询面板中显示的查询激发到数据库,而不是分解查询

  • 既然我们能够解决这个问题,我想回答我的问题

  • 我能理解为什么在查询中添加长别名的原因吗
  • 这是由于SAP BO提供的Spark Simba驱动程序的行为所致。SAP BO提供了一个固定的驱动程序,post的所有查询都是正常的,没有任何额外的别名

  • 由于Spark 2.1.0对查询()只支持64k字节的值,因此查询 基于此查询生成的值与此64K值交叉。因此,激发就业机会 我们都失败了。我们希望减少并保留这些别名 简单明了,避免了64K的障碍。请提出任何建议 SAP BO中缺少的配置
  • 我们还从ApacheSpark2.2获得了修复,支持超过64K字节的查询

  • 我们还注意到,sapbo生成的是一个冗长的子查询,而不是简单的连接查询,sapbo中是否有任何要触发的配置 “查询”面板中显示的查询将显示到数据库,而不是分解 这个问题
  • 即使没有来自SAP(fixed Driver jar)的修复,我们也能够通过更新spark simba SBO文件来修复这个问题,以选择{BO Installation Path}/SAP_bobj/enterprise_xi40/dataAccess/connectionServer/JDBC/extensions/qt/JDBC.prm中提供的通用JDBC驱动程序的prm文件。但SAP表示,他们不会支持这种解决方案,因此我们从SAP自身获得了上述修复

    `SYNTHJOIN_9445517e`.`SYNTHJOIN_e7712c1dSYNTHJOIN_ae302cd9bi_financial_timeFINANCIAL_DATE` `_SYNTHJOIN_9445517e___SYNTHJOIN_e7712c1dSYNTHJOIN_ae302cd9bi_financial_timeFINANCIAL_DATE_`,
    
    `SYNTHJOIN_9445517e`.`SYNTHJOIN_e7712c1dSYNTHJOIN_ae302cd9SYNTHJOIN_f7386c62SYNTHJOIN_12a564e7SYNTHJOIN_e7907874SYNTHJOIN_151b5d6fSYNTHJOIN_cc7708b9SYNTHJOIN_9a61ffc9SYNTHJOIN_425d41fbbi_marketMARKET_LEVEL_1` `_SYNTHJOIN_9445517e___SYNTHJOIN_e7712c1dSYNTHJOIN_ae302cd9SYNTHJOIN_f7386c62SYNTHJOIN_12a564e7SYNTHJOIN_e7907874SYNTHJOIN_151b5d6fSYNTHJOIN_cc7708b9SYNTHJOIN_9a61ffc9SYNTHJOIN_425d41fbbi_marketMARKET_LEVEL_1_`