当前位置: 首页 > 知识库问答 >
问题:

不支持spark sql上下文中的WITH子句

贺季同
2023-03-14

com.ibm.DB2.jcc.am.sqlsyntaxerroreXception:DB2 SQL错误:sqlcode=-199,sqlstate=42601,sqlerrmc=with;具有WHERE组顺序相交减除UNION),FETCH,driver=4.19.26

但是,如果我直接在大型机控制台中运行相同的查询,它工作得很好。

如何在Spark的sql上下文中使用WITH子句?

filt_cond=“(”+data_config.db2_qry+“)ref_id”

db2Df=sqlcontext.read.format(“jdbc”).option(“url”,data_config.db2_url).option(“driver”,“com.ibm.db2.jcc.db2driver”).option(“dbtable”,filt_cond).option(“user”,data_config.db2_uname).option(“password”,data_config.db2_passwd).load()

共有1个答案

山凌
2023-03-14

问题是在发送到大型机DB2的查询中,spark jdbc方法选择用来推动“with ur”需要改变。

这里使用的spark jdbc读取方法是

def jdbc(url: String, table: String, properties: Properties): DataFrame

在这个方法中,假设我们将以下查询推送到db2 sql引擎

 def jdbc(url: String, table: String, predicates: Array[String],
 connectionProperties: Properties): DataFrame

推送sql as“”从TBL表中选择a、b、c、d“

使用predicates=Array(“d不是null with ur”)

在这种情况下,预期的查询被下推。希望这能帮助你找到解决问题的方向。

 类似资料:
  • 我使用的Java库在版本1.4.0(通过Maven)没有任何定制在一个简单的Spring启动项目。 招摇过市页面是在下面生成的https://my-url.com/my-context-path/swagger-ui/index.html 以及api文档https://my-url.com/my-context-path/v3/api-docs/ 这两种方法都有效,我可以找到它们。到现在为止,一直

  • 引用Spark数据框架、数据集和SQL手册: Spark中还没有包括一些配置单元优化。由于Spark SQL的内存计算模型,其中一些(如索引)不那么重要。其他版本将在Spark SQL的未来版本中发布。 作为Spark的新手,我对此有点困惑,原因有两个: > 即使假设数据适合内存,对非常大的数据集进行完整扫描也可能需要很长时间。我读了这篇反对在内存数据库中建立索引的文章,但我并不信服。这里的示例讨

  • 问题内容: 我喜欢Python 2.7中多上下文语句的便利性: 但是,我需要保持与2.6的兼容性。 是通过引入到2.5的,但是在文档中找不到关于多上下文版本被反向移植到2.6的任何信息。 有什么我想念的吗? 编辑:我知道可以嵌套语句。我在问是否可以使用多个with语句。 问题答案: 如果没有向后兼容的等效方法,我将使多上下文语句成为一组单上下文嵌套语句来处理。 编辑以解决您的修改: 如果您坚持不嵌

  • 本文向大家介绍Ubuntu15下mysql5.6.25不支持中文的解决办法,包括了Ubuntu15下mysql5.6.25不支持中文的解决办法的使用技巧和注意事项,需要的朋友参考一下 apt-get install 安装的,不是源码包安装的mysql 1 修改mysql的配置文件 /etc/mysql/conf.d/mysql.cnf 在[mysql]的下方加入如下语句:(注:这个文件下没有配置,

  • 本文向大家介绍VC下实现fopen支持中文的方法,包括了VC下实现fopen支持中文的方法的使用技巧和注意事项,需要的朋友参考一下 VC的fopen函数第一个参数是const char*,一旦遇到中文文件名就难以应付了,如果中文是UTF8编码的话,我们还可以用下列代码将其转换为UNICODE,然后用_wfopen函数打开文件。 代码如下: 这个函数的用法如下: 上述函数仍有不够完善之处,如参数st

  • 这是我从一个Maven项目中获得的简单代码,该项目具有try-with-resources,我使用eclipse作为我的IDE。 当我使用构建它时,它会给我以下错误。 注意:在pom.xml中设置目标和源也没有帮助。感谢您的帮助。谢谢。