当前体系结构:
[在我们当前的体系结构中,我们使用Hadoop File System将报告数据存储为Parquet文件格式,而我们是Spark Thrift Server,它通过SQL接口(JDBC / ODBC)公开这些数据。使用此界面,SAP BO配置为提取报表数据。
BO版本:SAP BO 4.2 SP07
Spark版本:2.1.0
当前行为:
我们有一个具有28个联接的报告正在生成一个中级查询(显示在查询面板中。
但是当报表在Webi中运行时,我们看到在Spark中触发了另一个查询(核心逻辑是相同的),并向每个字段,表和联接中添加了复杂的长字符串别名(下面是两列的片段) )。
`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_`
问题:
我能否理解为什么在查询中添加长别名的原因?
由于Spark 2.1.0仅支持查询(https://issues.apache.org/jira/browse/SPARK-19796)的64k字节值,因此查询根据此查询生成的值越过此64K值。所以激发工作失败了。我们想减少并保留这些别名简洁明了,可以避免这种64K障碍。请提出任何建议SAP BO中缺少的配置?
另外,我们注意到SAP BO正在生成一个冗长的子查询,而不是简单的联接查询,因此,SAP BO中是否有任何配置需要触发查询面板中显示的查询到数据库而不是爆炸查询?