Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.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
Sql DynamoDB跨区域增量复制的失败管道_Sql_Amazon Web Services_Amazon Dynamodb_Hiveql_Amazon Data Pipeline - Fatal编程技术网

Sql DynamoDB跨区域增量复制的失败管道

Sql DynamoDB跨区域增量复制的失败管道,sql,amazon-web-services,amazon-dynamodb,hiveql,amazon-data-pipeline,Sql,Amazon Web Services,Amazon Dynamodb,Hiveql,Amazon Data Pipeline,我正在尝试实现从us-east-1到us-west-1的跨区域复制 我使用Amazon数据管道中的跨区域复制模板每隔几个小时复制一个表,但是增量复制无法工作。我必须在DefaultHiveCopyActivity1下的Activities下填写Filter SQL字段。该表包含一个名为timestamp的列,该列是一个格式为yyyy-MM-dd HH:MM:ss.SSS的字符串,其中包含请求时间 我一直在尝试将字符串转换为unix_时间戳,并从unix_时间戳的当前值中减去7200(因为管道活动

我正在尝试实现从us-east-1到us-west-1的跨区域复制

我使用Amazon数据管道中的跨区域复制模板每隔几个小时复制一个表,但是增量复制无法工作。我必须在DefaultHiveCopyActivity1下的Activities下填写Filter SQL字段。该表包含一个名为timestamp的列,该列是一个格式为yyyy-MM-dd HH:MM:ss.SSS的字符串,其中包含请求时间

我一直在尝试将字符串转换为unix_时间戳,并从unix_时间戳的当前值中减去7200(因为管道活动应该每两小时运行一次,因此查找表中时间戳为2小时前的所有记录)。我使用此筛选器SQL字段值:
unix\u时间戳(时间戳,“yyyy-MM-dd HH:MM:ss.SSS”)>unix\u时间戳()-7200
管道故障

我甚至尝试过检查一个简单的请求,比如将以下内容放入Filter SQL字段(它自己添加反斜杠):
timestamp=\“2014-04-30 22:55:41.301\”
——根据我应该输入的文档:一个Hive SQL语句片段,它过滤要复制的DynamoDB或Amazon S3数据子集。过滤器应该只包含谓词,而不是以WHERE子句开头,因为AWS数据管道会自动添加它。即使表中有一条具有该精确值的记录,该管道也会失败。但是,从一个区域到另一个区域的完整表拷贝(不带SQL筛选器)可以很好地工作

这就是我得到的错误:
失败:解析错误:第2:131行无法识别函数规范中“timestamp”“yyy-MM-dd HH:MM:ss.SSS”附近的输入


HiveQL查询中的时间戳字段应该像这样打勾,因为在引用时间戳列名时,时间戳似乎是Hive中的关键字:
unix\u时间戳(`timestamp`,yyyy-MM-dd HH:MM:ss.SSS”)>unix\u时间戳()-7200