簡體   English   中英

數據框字符串到Hive表Bigint-如何轉換

[英]Dataframe string to Hive table Bigint - How to convert

Spark:1.6,Scala,Hive

我有一個數據框DF.printschema

root
 |-- rundatetime: string (nullable = true)
 |-- day_cunt: String (nullable = true)
 |-- my_key: integer (nullable = true)

DF.show()

rundatetime             |day_cunt | my_key
2017-04-21 11:00:06     | 5       |10
2017-04-21 12:10:06     | 15      |1000

我的蜂巢表是

rundatetime String,
day_cunt    BigInt,
my_key      Int
Stored as Parquet;

如何將數據框值保存到Hive表? 請注意DF和配置單元表的數據類型不同。

BigInt不是Spark DataFrames 支持的數據類型

您可以通過將day_count強制轉換為Long來創建中間數據day_count

val newDF = df.select($"rundatetime", $"day_count".cast("Long"), $"my_key")

使用cast("BigInt")進行轉換不會引發錯誤,但實際上只會轉換為Long數據類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM