小编Lou*_*uis的帖子

Amazon Athena - 将时间戳转换为日期?

查看日期/时间 Athena 文档,我没有看到执行此操作的函数,这让我感到惊讶。我看到的最接近的是date_trunc('week', timestamp)但结果类似于2017-07-09 00:00:00.000我希望格式为2017-07-09

是否有一个简单的函数可以将时间戳转换为日期?

sql presto amazon-athena

14
推荐指数
1
解决办法
3万
查看次数

如何在 AWS Athena 中将行转换为列?

我是 AWS Athena 的新手,并试图将一些行转为列,类似于此StackOverflow 帖子中的最佳答案。

但是,当我尝试时:

SELECT column1, column2, column3
FROM data
PIVOT
(
  MIN(column3)
  FOR column2 IN ('VALUE1','VALUE2','VALUE3','VALUE4')
)
Run Code Online (Sandbox Code Playgroud)

我收到错误: mismatched input '(' expecting {',', ')'} (service: amazonathena; status code: 400; error code: invalidrequestexception

有谁知道如何在 AWS Athena 中完成我想要实现的目标?

sql pivot amazon-web-services amazon-athena

13
推荐指数
3
解决办法
1万
查看次数

Pytest - 除非你声明一个选项/标志,否则如何跳过测试?

我有一些单元测试,但我正在寻找一种方法来标记一些特定的单元测试以跳过它们,除非你在调用测试时声明一个选项.

示例:如果我打电话pytest test_reports.py,我想要一些特定的单元测试不能运行.

但如果我打电话pytest -<something> test_reports,那么我希望我的所有测试都能运行.

我查看了@pytest.mark.skipif(condition)标签,但无法弄清楚,所以不确定我是否在正确的轨道上.这里的任何指导都会很棒!

python unit-testing pytest

7
推荐指数
3
解决办法
2241
查看次数

将数据帧转换为 CSV 并返回数据帧后,pd.equals() 返回 false

我有一个原始的 pandas 数据框,我们称之为df。我将数据帧转换为 csv 文件,然后将其转换回 pandas 数据帧。当我调用 df.equals(new dataframe) 时,它返回 false。我认为一个错误可能是索引可能关闭,因此我将新数据帧的索引设置为 csv 文件的第一列(这是原始数据帧的索引),但仍然得到相同的结果。

示例代码:

import pandas as pd

df = <stuff here that aggregates other dataframes into one>
file_name = 'test/aggregated_reports.csv'
df.to_csv(file_name)
df2 = pd.read_csv(file_name, index_col=0)
assert df.equals(df2)
Run Code Online (Sandbox Code Playgroud)

我通过再次将 df2 转换为 csv 并比较 2 个 csv(file_name 和从 中创建的 csv df2.to_csv())进行了一些手动测试,它们似乎是相同的,所以我假设在将原始数据帧转换为 csv 时发生“差异”文件。但我还是不太明白...

任何有关可能导致此处“差异”的原因的见解将不胜感激!

python csv dataframe pandas

5
推荐指数
1
解决办法
1951
查看次数

Python - 如何读取从S3存储桶中检索的CSV文件?

S3存储桶中有一个CSV文件我要解析并在Python中变成字典.使用Boto3,我调用了s3.get_object(<bucket_name>, <key>)函数并返回一个字典,其中包含一个"Body" : StreamingBody()显然包含我想要的数据的键值对.

在我的python文件中,我添加import csv了我在网上看到的有关如何读取csv文件的示例,您传递的文件名如下:

with open(<csv_file_name>, mode='r') as file:
reader = csv.reader(file)
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何从StreamBody中检索csv文件名,如果可能的话.如果没有,我有更好的方法来阅读Python中的csv文件吗?谢谢!

编辑:想要添加我在AWS Lambda中这样做,并且在Lambda中使用pandas存在记录的问题,所以这就是为什么我想使用csv库而不是pandas.

python csv amazon-s3

3
推荐指数
2
解决办法
7625
查看次数

如何在 CloudFormation 中的 AWS Kinesis 中添加行分隔符?

我们通过 Kinesis Stream 处理数据(记录)到 Kinesis Firehose,然后将数据输出到 S3 存储桶中的文件。

然而,目前,所有记录都位于输出文件中的同一行,但我们希望将每个记录分开,以便它们位于自己的行上。

而不是类似的东西:

Store1, 100, Broccoli
Store1, 101, Avocado
Store1, 102, Apple
Run Code Online (Sandbox Code Playgroud)

目前看起来像:

Store1, 100, BroccoliStore1, 101, AvocadoStore1, 102, Apple
Run Code Online (Sandbox Code Playgroud)

这是我们的 CloudFormation 模板:

Resources:
  MyBucket:
    Type: AWS::S3::Bucket

  MyStream:
    Type: AWS::Kinesis::Stream
    Properties:
      Name: my-stream
      RetentionPeriodHours: 24
      ShardCount: 5

  MyFirehose:
    Type: AWS::KinesisFirehose::DeliveryStream
    Properties:
      DeliveryStreamName: my-firehose
      DeliveryStreamType: KinesisStreamAsSource
      KinesisStreamSourceConfiguration:
        KinesisStreamARN:
          Fn::Sub: "${MyStream.Arn}"
        RoleARN:
          Fn::Sub: "${MyRole.Arn}"
      S3DestinationConfiguration:
        BufferingHints:
          IntervalInSeconds: 60
          SizeInMBs: 50
        CompressionFormat: UNCOMPRESSED
        Prefix: concessions/
        BucketARN:
          Fn::Sub: "${MyBucket.Arn}"
        RoleARN:
          Fn::Sub: "${MyRole.Arn}"
Run Code Online (Sandbox Code Playgroud)

我们如何添加行分隔符以使记录显示在自己的行上?

aws-cloudformation amazon-kinesis-firehose

3
推荐指数
1
解决办法
3602
查看次数

可以为AWS Athena查询指定参数吗?

我进行了一些研究,但还没有找到是否可行的方法,但是有人知道您是否可以为AWS Athena查询指定参数吗?

例如,我希望查询能够过滤WHERE merchant_id = {merchant_id}。是否可以指定此名称,以便我可以对想要的每个商人使用相同的查询?如果是这样,我应该在哪里将输入传递给Athena查询?

amazon-web-services amazon-athena

2
推荐指数
3
解决办法
3219
查看次数