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

我可以强制spark sql使用TINYINT而不是byte吗?[副本]

徐博雅
2023-03-14
query = [SQL query]

val df = sql(query)

df.write.jdbc([connection info])

共有1个答案

危卜鹰
2023-03-14

要将Spark DataFrame列类型从一种数据类型更改为另一种数据类型,可以使用“WithColumn()”、“Cast Function”、“SelectExpr”和SQL表达式。请注意,要转换为的类型应该是DataType类的子类。

在Spark中,我们可以只将DataFrame列更改或强制转换为以下类型,因为这些类型是DataType类的子类。

ArrayType、BinaryType、BooleanType、CalendarIntervalType、DateType、HiveStringType、MapType、NullType、NumericType、ObjectType、StringType、StructType、TimestampType

下面是一个带有sql表达式的示例:

val df2 = df.selectExpr("cast(year as int) year")

这个问题的详细回应如下:

如何在Spark SQL的DataFrame中更改列类型?

 类似资料:
  • 我可以用这个条件对象来wait/notify/notifyall和synchronized方法吗? 还是坚持带锁的组合更好? 此外:

  • 在现代浏览器中,当使用有效的CSS选择器时,jQuery使用来提升性能。如果浏览器不支持选择器或方法,它会回退到Sizzle。 但是,在调试自定义选择器时,我希望始终使用Sizzle而不是本机实现。也就是说,我正在尝试提出,这是jQuery不支持的CSS3选择器之一。由于现代浏览器原生支持此选择器,因此它的工作方式如链接问题中所述。不过,正是这种行为干扰了调试我的自定义选择器,因此我希望避免它。

  • 我的eclipse安装始终使用https协议下载存储库结构。问题是我的合作代理不允许我在这个url上使用https。如何强制m2e使用http? 我尝试了m2e的不同外部maven安装,但没有成功。只有在使用CLI中的外部maven(使用http)时,它才起作用。

  • 我正在尝试构建react原生android应用程序,作为一种依赖,我看到我有gradle,但它无法在构建时加载。错误消息: 问题很明显,我坐在公司代理后面,阻止任何像这样的错误HTTPS连接。所以我的问题是:如何强制gradle使用HTTP加载这些文件?这些属性应该放在哪里(哪一个gradle文件,即gradle.properties)? P. S.我已经在gradle属性文件中设置了这些: 任何

  • 问题内容: 这就是问题所在:我们想要一个哈希表,其条目是线程安全的。 假设我的哈希表为,并且我想安全地增加条目线程之一的值:可以吗? 然后,每当我想增加一个条目时: 我认为它比ConcurrentHashMap更好,因为它仅锁定一个条目,而不像ConcurrentHashMap使用存储桶并将一组条目锁定在一起。 更重要的是,我不知道如何安全地使用COncurrenHashMap对其进行递增。例如,