我有一个名为pandas
的{{1}}数据框。以下是数据类型。
pd_df
现在我想将此pd_df.dtypes
id int64
TEST_TIME datetime64[ns]
status object
Pkg object
test_type object
test_name object
test_id int64
test_value float64
test_times int64
desc object
test_source object
GP float64
dtype: object
转换为pd_df
数据框。
我在下面做过。
spark
我能够成功创建spark_df = sqlContext.createDataFrame(pd_df)
。但数据类型不符合我的要求
火花数据框的必需数据类型。
spark_df
我得到的是
DataFrame[id: int, test_time: timestamp, status: string, pkg: string, test_type: string, test_name: string, test_id: int, test_value: double, test_times: int, desc: string, test_source: string, GP: double]
如何实现我想要的结果
答案 0 :(得分:1)
尝试,
spark_df = sqlContext.createDataFrame(pd_df).withColumn('TEST_TIME1', unix_timestamp(col('TEST_TIME').cast("string"), "MM-dd-yyyy hh mm ss").cast("timestamp")).drop('TEST_TIME')
同时更换" MM-dd-yyyy hh mm ss"到时间戳的格式。假设您的时间戳为2017年12月1日的12012017,格式为" mmddyyyy"