【问题标题】:How to convert a json file in to parquet using aws lambda如何使用 aws lambda 将 json 文件转换为镶木地板
【发布时间】:2020-08-31 15:09:18
【问题描述】:
s3_obj = s3.Object(s3_bucket, file_prefix)
df= pd.read_json(jsonlines_doc,lines=True)
location=s3_obj.put(Body=json.dumps(jsonlines_doc))
df.to_parquet(location, engine='auto', compression='snappy', index=None)

代码不起作用,但可以将其保存在本地导入的 pyarrow 和 parquet

【问题讨论】:

  • 错误在哪里?您可能想查看 BytesIO()。您需要写入内存或流而不是本地文件位置。
  • 无法在 S3 中写入
  • 我们可以将s3中的jsonfile写入parquet吗?用胶水试过了,还是没有运气
  • 请找到错误::errorMessage": "无效的文件路径或缓冲区对象类型: ", "errorType": "ValueError", "stackTrace": [ [ "/ var/task/lambda_function.py", 80, "lambda_handler", "df.to_parquet(location, engine='auto', compression='snappy', index=None)"
  • 下次请在您的问题中包含错误信息,以便人们可以更轻松地帮助您。

标签: python amazon-web-services amazon-s3 aws-lambda parquet


【解决方案1】:

您是否尝试过先将文件保存到 lambda 中可用的 /tmp/ 中,然后将其复制到您选择的 s3 存储桶中。

顺便提一下,每个 Lambda 执行容器在 /tmp 目录中提供 512 MB 的临时磁盘空间,因此如果您的文件大于此大小,您可能必须使用 AWS EFS。

【讨论】:

  • errorMessage": "无效的文件路径或缓冲区对象类型: ", "errorType": "ValueError", "stackTrace": [ [ "/var/task/lambda_function. py", 80, "lambda_handler", "df.to_parquet(location, engine='auto', compression='snappy', index=None)"
  • stackoverflow.com/questions/63675375/… 关闭此问题,因为我为我的问题创建了另一个问题
猜你喜欢
  • 2016-04-16
  • 2014-11-25
  • 1970-01-01
  • 1970-01-01
  • 2016-04-15
  • 2018-11-09
  • 1970-01-01
  • 1970-01-01
  • 2019-02-03
相关资源
最近更新 更多