我通过sparkjdbc连接到dataframe从oracle读取数据。我有一个专栏,很明显 StringType
在Dataframe中。
现在我想把它保存在hive中,但是作为数据类型 Varchar(5)
. 我知道字符串将被截断,但它是好的。
我尝试使用UDF,但由于dataframe没有 varchar
或者 char
类型。我还在配置单元中创建了一个临时视图,使用:
val tv = df.createOrReplaceTempView("t_name")
val df = spark.sql("select cast(col_name as varchar(5)) from tv")
但是当我 printSchema
,我仍然看到 string
类型。
我怎样才能把它保存为 varchar
配置单元表中的列?
1条答案
按热度按时间t3psigkw1#
尝试用所需的模式(本例中为varchar(5))创建配置单元表(“dbname.tablename”),并直接从dataframe插入到表中,如下所示。