Tispark 写入数据的方式

请问一下,tispark里,在 spark-sql里是不是不能直接用insert 插入数据的,必须 要在spark-shell里 调用jdbc 才能写入数据的。

spark-sql 中现在支持部分 insert 插入数据,调用 jdbc 也可以。

请参考: https://github.com/pingcap/tispark/blob/master/docs/datasource_api_userguide.md

TiSpark 目前支持两种写入模式。

  1. batch write。 原生支持 tidb 的事物模型,可以大量写入数据并且有事物保证。具体可以参考 https://github.com/pingcap/tispark/blob/master/docs/datasource_api_userguide.md
  2. jdbc 插入,无事物保证。

谢谢楼上两位大神。 还有一个问题,tispark里能清表数据吗?能delete、truncate 数据吗。楼上两位大神给的链接都是只有insert 写数据的,有没有其他的链接可以有tispark的增删改相关的说明啊?

暂时还没有相关内容,有在计划中,敬请期待一下哈。

好的,期待着。

那现在的版本的tispark能truncate 表或删数吗?

暂时还不能。后面如果功能出来的话,相关文档也会一并发出来的。:handshake:

那如果我有个需求是这样子的,有三张表,A,B,C,C表主键是日期+人员id 每天都从A、B两张表转换一份数据到C表,并且可能 因某些原因,某天的数据要转换不只一次。 tispark有方案能实现不?

用spark的话,可以用insert overwrite 分区表来实现数据的重复转换的。

可以参考下面的链接:

除此之外,也可以通过 jdbc 的方式。

另外,暂时比较推荐 jdbc 的方式,batchwrite 目前功能不建议在生产环境使用~~~