Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/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
Amazon web services Quicklight中ETL后的数据不一致?_Amazon Web Services_Amazon S3_Aws Glue_Amazon Athena_Amazon Quicksight - Fatal编程技术网

Amazon web services Quicklight中ETL后的数据不一致?

Amazon web services Quicklight中ETL后的数据不一致?,amazon-web-services,amazon-s3,aws-glue,amazon-athena,amazon-quicksight,Amazon Web Services,Amazon S3,Aws Glue,Amazon Athena,Amazon Quicksight,我有RDS中的原始数据。我使用AWS Glue对数据进行爬网,并通过Glue中的ETL脚本(完整的精确副本,目前没有转换或编辑)将数据作为单个CSV文件导出到S3。我试图在QuickSight中可视化这些数据,但与对数据本身运行SQL查询相比,我得到了不同的见解。稍后我将编辑粘合作业,将不同的数据“剪切”导出到S3,然后可视化 我尝试了什么,问题是什么 我下载了S3CSV,以确保CSV生成的输出与RDS表上的SQL查询相同,并且匹配率为100%。这意味着问题在于QuickSight,而不是胶水

我有RDS中的原始数据。我使用AWS Glue对数据进行爬网,并通过Glue中的ETL脚本(完整的精确副本,目前没有转换或编辑)将数据作为单个CSV文件导出到S3。我试图在QuickSight中可视化这些数据,但与对数据本身运行SQL查询相比,我得到了不同的见解。稍后我将编辑粘合作业,将不同的数据“剪切”导出到S3,然后可视化

我尝试了什么,问题是什么

  • 我下载了S3CSV,以确保CSV生成的输出与RDS表上的SQL查询相同,并且匹配率为100%。这意味着问题在于QuickSight,而不是胶水
  • 我尝试使用“S3”作为QuickSight中的数据源来连接S3文件。我使用了下面提供的脚本。问题是它使用SPICE,我只尝试运行一个直接查询(因为我的数据很快会增长100倍,这只是一个POC)。 此代码用作清单:

    {
        "fileLocations": [
            {
                "URIs": [
                    "s3://pathofglueoutput/part-00000-blahblah.csv"
                ]
            },
            {
                "URIPrefixes": [
                    "s3://pathofglueoutput/"
                ]
            }
        ],
        "globalUploadSettings": {
            "format": "CSV",
            "delimiter": ",",
            "containsHeader": "true"
        }
    }
    
  • 我尝试将S3文件连接到Athena,然后将数据从Athena导入QuickSight。我的问题是雅典娜不会“每天刷新”,所以这不是一种可伸缩的方法,因此我一直在考虑使用S3(上面的选项2)


  • 我很难理解为什么Glue的ETL输出数据(例如,s3data的select count(field1))和Quicklight上的相同计数(s3data的field1的count-而不是distinct)完全不同

    事实证明这是一个ETL问题——数据中的空值实际上不是空值,导致计数问题。使用此链接来解决:原来这是一个ETL问题-数据中的空值实际上不是空值,导致计数问题。使用此链接可解决以下问题: