Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 复制.parquet文件,日期从S3到红移_Date_Copy_Amazon Redshift_Parquet - Fatal编程技术网

Date 复制.parquet文件,日期从S3到红移

Date 复制.parquet文件,日期从S3到红移,date,copy,amazon-redshift,parquet,Date,Copy,Amazon Redshift,Parquet,我正试图用COPY命令将一个.parquet文件从S3加载到我的红移数据库中 该文件包含一列日期,格式为2018-10-28。红移表格中的相关字段定义为日期。源spark数据框将字段显示为datetime64,并将其转换为时间戳 使用简单的从s3://mybucket/file.parquet iam_role{xxxxx}格式复制日期作为parquet总是返回不兼容的架构错误 在我的jupyter笔记本中,我看不到完整的错误描述,但我猜是日期字段,因为表的其余部分是一个简单的varchar字段

我正试图用COPY命令将一个.parquet文件从S3加载到我的红移数据库中

该文件包含一列日期,格式为2018-10-28。红移表格中的相关字段定义为日期。源spark数据框将字段显示为datetime64,并将其转换为时间戳

使用简单的
从s3://mybucket/file.parquet iam_role{xxxxx}格式复制日期作为parquet
总是返回不兼容的架构错误

在我的jupyter笔记本中,我看不到完整的错误描述,但我猜是日期字段,因为表的其余部分是一个简单的varchar字段和一些int字段

有没有办法查看完整的错误消息,因为它没有写入stl\U load\U errors


是否有比yyyy mm dd更好的源格式将数据加载到redshift?

redshift和parquet格式在大多数情况下都不适用

你有两个选择,前两个是

  • 使用Glue爬虫在Glue数据目录中创建表,并从Redshift将其用作外部(光谱)表,您需要执行一次。您的副本将变为插入

  • 将文件加载到表中,每个列(或日期列)都定义为varchar,转换为第二个过程

  • 如果数据不会在红移中改变,您可以将它们保存在S3中(成为数据湖),使用上面的方法1,您可以从红移中读取数据

    我上周刚刚做了一个用例,将拼花地板格式的S3数据集带到Redshift,并使用上面的第一种方法,将数据保存在S3中

    如果您还有任何问题,请告诉我。我很乐意帮忙。

    类似的东西(未测试):


    尝试使用字符串而不是日期设置目标表,查询表
    svl\u s3log
    。错误消息会弹出pid。您可以通过该选项进行筛选,并在
    消息
    列中找到错误。您好@demircioglu您可以进一步详细说明(更像是一步一步)如何处理第一个问题吗?我迫切需要完成这一步。如果您现在正在阅读此内容,请提供帮助。谢谢
     COPY dates FROM s3://mybucket/file.parquet iam_role {xxxxx} DATEFORMAT yyyy-mm-dd FORMAT AS PARQUET