为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas 数据帧类型 datetime64[ns] 在 Hive/Athena 中不起作用

Pandas 数据帧类型 datetime64[ns] 在 Hive/Athena 中不起作用

萧十郎 2021-09-24 21:25:29
我正在开发一个 python 应用程序,它只是将 csv 文件转换为 hive/athena 兼容的镶木地板格式,我正在使用 fastparquet 和 pandas 库来执行此操作。csv 文件中有时间戳值,例如2018-12-21 23:45:00需要timestamp在 parquet 文件中写入类型。下面是我正在运行的代码,columnNames = ["contentid","processed_time","access_time"]dtypes = {'contentid': 'str'}dateCols = ['access_time', 'processed_time']s3 = boto3.client('s3')obj = s3.get_object(Bucket=bucketname, Key=keyname)df = pd.read_csv(io.BytesIO(obj['Body'].read()), compression='gzip', header=0, sep=',', quotechar='"', names = columnNames, error_bad_lines=False, dtype=dtypes, parse_dates=dateCols)s3filesys = s3fs.S3FileSystem()myopen = s3filesys.openwrite('outfile.snappy.parquet', df, compression='SNAPPY', open_with=myopen,file_scheme='hive',partition_on=PARTITION_KEYS)代码运行成功,下面是pandas创建的数据框contentid                 objectprocessed_time            datetime64[ns]access_time               datetime64[ns]最后,当我在 Hive 和 athena 中查询 parquet 文件时,时间戳值+50942-11-30 14:00:00.000不是2018-12-21 23:45:00任何帮助都受到高度赞赏
查看完整描述

9 回答

  • 9 回答
  • 0 关注
  • 244 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信