【发布时间】:2020-01-04 04:17:09
【问题描述】:
我在 Redshift 光谱中有一个外部表,其中 DDL 的日期时间列如下所示:
collector_tstamp TIMESTAMP WITHOUT TIME ZONE
目标:我正在尝试对一组数据进行拼花,然后将分区添加到 Spectrum 中以查看值是否被完美解析。
创建 parquet 后,以下是对应 parquet 文件中 'collector_tstamp' 的元数据:
{“元数据”:null,“field_name”:“collector_tstamp”,“name”:“collector_tstamp”,“numpy_type”:“datetime64[ns]”,“pandas_type”:“datetime”}
在此之前,我在以下帮助下将 pandas 数据框列转换为日期时间数据类型:
df['collector_tstamp'] = pd.to_datetime(df['collector_tstamp'])
问题:当我在 Redshift 光谱中查询数据时,我看到以下值很明显解析错误,但我不确定应该更改为什么数据类型以便解析正确:
collector_tstamp
36332-04-23 15:29:01
36332-04-23 15:29:01
36332-04-23 15:29:01
36332-04-23 15:29:01
36332-04-23 15:29:01
我也尝试过类似的方法,但仍然得到上述值:
df['collector_tstamp'] = pd.to_datetime(df['collector_tstamp'], infer_datetime_format=True)
我也试过了,但查询时仍然是相同的值:
df['collector_tstamp'] = df['collector_tstamp'].astype('datetime64[s]')
样本数据:
collector_tstamp
2019-01-04 04:02:36
2019-01-04 04:03:41
2019-01-04 04:03:45
2019-01-04 04:04:11
【问题讨论】:
-
你能把样本数据给我们看看吗
-
当然。刚刚在上面添加。
标签: pandas pyarrow amazon-redshift-spectrum