gpt4 book ai didi

postgresql - 将字符串转换为 BigInt 数据框 spark scala

转载 作者:行者123 更新时间:2023-11-29 11:58:41 25 4
gpt4 key购买 nike

我正在尝试将值插入字段为 string 类型的数据框中,插入字段为 big int 类型的 postgresql 数据库中。

我没有找到如何将它们转换为大 int。我在使用 IntegerType 之前没有遇到任何问题。但是对于这个数据框, Actor 让我负整数

val sparkSession = SparkSession.builder.master("local").appName("spark session example").getOrCreate()

val cabArticleGold = sparkSession.sqlContext.load("jdbc", Map("url" -> "jdbc:oracle:thin:System/maher@//localhost:1521/XE", "dbtable" -> "IPTECH.TMP_ARTCAB")).select("CODEART", "CAB").limit(10)
import sparkSession.sqlContext.implicits._
cabArticleGold.show()
cabArticleGold.withColumn("CAB",'CAB.cast(IntegerType)).foreach(row=>println(row(1)))

232524399
-1613725482
232524423
-1613725465
232524437
-1191331072
3486
-1639094853
232524461
1564177573

任何有关使用 Big Int 的帮助都将不胜感激。我知道 scala 支持 Big Int,但我该怎么做呢?

最佳答案

对于大整数,您应该使用 LongType :

cabArticleGold.withColumn("CAB", 'CAB.cast(LongType))

cabArticleGold.withColumn("CAB", 'CAB.cast("long"))

你也可以使用DecimalType

cabArticleGold.withColumn("CAB", 'CAB.cast(DecimalType(38, 0)))

cabArticleGold.withColumn("CAB", 'CAB.cast("decimal(38, 0)"))

关于postgresql - 将字符串转换为 BigInt 数据框 spark scala,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46039717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com