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

Spark jdbc.write到mysql时出现null错误

慎懿轩
2023-03-14

我在一个Dataframe中创建一个列,该列被设置为null(通过None),但是当发送到JDBC write时,我得到“Can't get JDBC type for null”。如有任何帮助,我们将不胜感激。

update_func = (when(col("SN") != col("SNORIGINAL"), None)) 

aPACKAGEDF = aPACKAGEDF.withColumn('SNORIGINAL_TEMPCOL', update_func)

java.lang.IllegalArgumentException:无法在Qoptimized$class.foreach(indexedseqoptimized.scala:33)在scala.collection.mutable.arrayops$ofref.foreach(arrayops.scala:186)在scala.collection.traversablelike$class.map(traversable.scala:234)在scala.collection.mutable.arrayops$ofref.map(arrayops.scala:186)在org.apache.spark.sql.execution.datasources.jdbc.jdbcutils:87)在org.apache.spark.scheduler.task.run(task.scala:109)在org.apache.spark.executor.executor$taskrunner.run(executor.scala:345)在java.util.concurrent.ThreadPoolExecutor.runworker(ThreadPoolExecutor.java:1149)在java.util.concurrent.ThreadPoolExecutor$worker.run(ThreadPoolExecutor:624)在java.lang.Thread.run(Thread.java:748)

共有1个答案

仇正豪
2023-03-14

这是因为none

update_func = (when(col("SN") != col("SNORIGINAL"), None)) 

没有定义的类型。改用铸造文字。例如,如果类型应为string(varchar或类似):

from pyspark.sql.functions import lit

update_func = when(col("SN") != col("SNORIGINAL"), lit(None).cast("string")) 
 类似资料:
  • 我正在用MySQL数据库构建一个django应用程序。当我第一次运行“Python Manage.py Migrate”时,一些表创建得很好,然后出现一些错误。引出的错误是: 完整的回溯是:

  • 在Ubuntu中通过docker-compose部署MySQL时无法部署;docker-compose.yml文件如下: 我的步骤如下: 1.注释挂载,直接启动mysql 成功 2.复制容器中的/var/lib/mysql到宿主机我希望挂载的地方 3.复制/etc/mysql ,然后编写my.cnf放到宿主机/data/docker/mysql/etc/mysql/conf.d下 4.删除镜像 5

  • 问题内容: 我在Docker容器中有一个MySQL数据库。入口点执行创建数据库的脚本和创建表的脚本。 除了一张桌子,其他所有东西都工作正常。 记录到控制台的错误是 第150行是后面的开括号 MySQL版本:8.0.3-rc-log 主机操作系统:Debian jessie 我开始考虑并且可能是保留关键字,因此我重命名了表和列,但错误仍然存​​在。 问题答案: @Bill Karwin在第一条评论中

  • 我想创建一个在MySQL中拥有自己数据库所有权限的用户。 当我使用这个用户创建一个表时,MySQL返回SQL server正在使用只读选项运行。 但是,当我改变到另一个现有用户的所有权限上,我可以创建表没有错误。 我想知道只读选项是全局的还是什么? 以下是我使用MySQL root的MySQL命令: 然后我切换到用户"demo": 所以我检查了只读选项,它似乎是打开的。 然而,我尝试使用另一个用户

  • 我有一个简单的程序,应该打印今天的名字。它是工作的,但我做了get_query_result函数,然后它给了我一个分割错误。我看不出这里有什么错误,请帮帮我。

  • 从导出数据时出现错误。我正在使用 错误消息是: 我是MySQL的新手。