deaftstill 2021-09-11 12:47 采纳率: 0%
浏览 106
已结题

spark从hive写入sqlserver报java.lang.NullPointerException

错误内容如下:


java.lang.NullPointerException
    at com.microsoft.jdbc.sqlserver.tds.TDSRPCParameter.initializeUserParam(Unknown Source)
    at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.addUserParametersToRPC(Unknown Source)
    at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.execute(Unknown Source)
    at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
    at com.microsoft.jdbc.base.BasePreparedStatement.executeBatchEmulation(Unknown Source)
    at com.microsoft.jdbc.base.BasePreparedStatement.executeBatch(Unknown Source)
    at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$.savePartition(JdbcUtils.scala:771)
    at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$saveTable$1.apply(JdbcUtils.scala:933)
    at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$$anonfun$saveTable$1.apply(JdbcUtils.scala:933)
    at org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1$$anonfun$apply$29.apply(RDD.scala:929)
    at org.apache.spark.rdd.RDD$$anonfun$foreachPartition$1$$anonfun$apply$29.apply(RDD.scala:929)
    at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:2074)
    at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:2074)
    at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
    at org.apache.spark.scheduler.Task.run(Task.scala:109)
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:345)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

spark写入sqlserver如下

    df.write.format("jdbc").mode(SaveMode.Append)
      .option("driver","com.microsoft.jdbc.sqlserver.SQLServerDriver")
      .option("url","jdbc:microsoft:sqlserver://<ServerName>;databaseName=xxx")
      .option("dbtable","")
      .option("user","")
      .option("password","")
      .option("batchsize","")
      .save()

驱动:
mssqlserver.jar
msbase.jar
msutil.jar

当使用spark向sqlserver2000以varchar类型插入字符串类型的数据时,为了排除不是配置信息的错误,使用同样的配置信息用int类型的数据插入没有报错,想问一下这种问题该怎么解决

  • 写回答

4条回答 默认 最新

  • wo.austin 2021-09-11 13:30
    关注

    字段长度够不够?你这个值比较长了。

    评论

报告相同问题?

问题事件

  • 系统已结题 9月19日
  • 修改了问题 9月14日
  • 修改了问题 9月14日
  • 修改了问题 9月14日
  • 展开全部

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境