我有一个具有Date
和Timestamp
数据类型的配置单表。我正在使用以下java代码创建DataFrame
:
SparkConf conf = new SparkConf(true).setMaster("yarn-cluster").setAppName("SAMPLE_APP");
SparkContext sc = new SparkContext(conf);
HiveContext hc = new HiveContext(sc);
DataFrame df = hc.table("testdb.tbl1");
Dataframe架构:
df.printSchema
root
|-- c_date: date (nullable = true)
|-- c_timestamp: timestamp (nullable = true)
我想将这些列转换为String。我怎样才能做到这一点?
因为问题我需要这个:Spark csv data validation failed for date and timestamp data types of Hive
答案 0 :(得分:2)
在scala中,我们通常会抛出这样的数据类型:
df.select($"date".cast(StringType).as("new_date"))
答案 1 :(得分:2)
您可以执行以下操作:
df.withColumn("c_date", df.col("c_date").cast(StringType))