在R中从AWS S3读取gzip文件的内容

菲尔斯老板

我正在尝试从S3读取gzip压缩的csv文件

鉴于我已经有一个我的数据列表

> MyKeys
[1] "2020/07/25/21/0001_part_00.gz" "2020/07/25/22/0000_part_00.gz" "2020/07/25/22/0001_part_00.gz" "2020/07/25/23/0000_part_00.gz" "2020/07/25/23/0001_part_00.gz"

使用

x<-get_object(MyKeys[1], bucket = bucket)

它返回

str(x)
 raw [1:42017043] 1f 8b 08 00 ...

我试着用

rawToChar(x)
gunzip(x, remove=FALSE)
read.table(rawConnection(get_object(MyKeys[1], bucket = bucket)))
read_delim(gzfile(get_object(touse[1], bucket = bucket)), ",", escape_double = FALSE, trim_ws = TRUE)

还有一些我不记得的技巧。

而且这些都没有用..我在这里迷路了。

菲尔斯老板

好吧,毕竟我设法找到了解决方案。

df <- get_object(key, bucket = bucket) %>%
        rawConnection %>% 
        gzcon %>% 
        read_delim( "|", escape_double = FALSE,  trim_ws = TRUE, col_names = FALSE)

为任何发现这种麻烦的人解释一下

方法Get_object是主要的S3方法。使用rawConnection,您可以流式传输gzcon,这是读取和解压缩Gzip文件的方式(某种比特流,我不知道为什么会这样...)finaly read_delim这对任何人都不会有任何误解。它是legen ...等等...这里有个窍门!使用RawConnection R时,会在内部为文件分配向量。并一直呆在那里直到您将其关闭。通常,您创建一个对象然后将其关闭

x<- rawConnection(<args>)
close(x)

但是在这种情况下,它是使用magrittr的'%>%'动态创建的,因此我没有引用。
如果您执行的操作与我相同,并且您正在循环读取数千个文件中的几个月数据,那么您将收到错误消息

所有连接都在使用中

不用担心。Rawconnection存储128个文件...顶部..因此,如果您存储到本地文件或变量中并使用“垃圾收集器方法” closeAllConnections(),它将所有存储的文件作为rawconnections擦除

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有什么方法可以从AWS Step Function读取S3文件的内容吗?

来自分类Dev

我如何在Amazon S3中读取文件的内容

来自分类Dev

如何使用python从S3存储桶中读取.txt文件并查看内容?

来自分类Dev

如何读取目录中的多个文件,这些文件都是带有Airflow S3 Hook或boto3的csv.gzip?

来自分类Dev

pyspark 从 AWS S3 读取文件不起作用

来自分类Dev

AWS s3的“ head”命令可查看文件内容

来自分类Dev

AWS S3 Gzip非常慢

来自分类Dev

如何从EMR中的s3中读取文件?

来自分类Dev

如何从BufferedReader中S3中读取文件?

来自分类Dev

使用org.apache.hadoop:hadoop-aws从pyspark中的s3中读取文件

来自分类Dev

在Spark中从HDFS或S3读取边缘DB文件

来自分类Dev

如何在EMR中从s3读取文件?

来自分类Dev

无法在S3中设置文件内容类型

来自分类Dev

无法在S3中设置文件内容类型

来自分类Dev

读取公共 AWS S3 存储桶中的文件计数

来自分类Dev

在发布到AWS S3之前,如何压缩/ gzip我缩小的.js和.css文件?

来自分类Dev

尝试从Node.js中的AWS Lambda函数读取S3存储桶的内容时未获得结果

来自分类Dev

从AWS S3存储桶读取的R reactFileFileReader

来自分类Dev

如何将S3中的Json Gzip文件读入列表?

来自分类Dev

在Lambda中读取AWS S3 CSV列名称

来自分类Dev

从 r 中的 s3 一个一个读取文件

来自分类Dev

从Java中的AWS S3映像获取内容类型

来自分类Dev

AWS Lambda:如何在S3存储桶中读取CSV文件,然后将其上传到另一个S3存储桶?

来自分类Dev

从子目录递归读取文件,并使用s3或本地文件系统中的spark

来自分类Dev

将AWS s3文件读取为Java代码

来自分类Dev

如何在AWS S3上读取匿名发布的文件?

来自分类Dev

如何判断Spark使用什么AWS凭证读取S3文件?

来自分类Dev

使用jQuery文件上传在S3中设置文件内容类型

来自分类Dev

从s3存储桶读取gzip文件

Related 相关文章

  1. 1

    有什么方法可以从AWS Step Function读取S3文件的内容吗?

  2. 2

    我如何在Amazon S3中读取文件的内容

  3. 3

    如何使用python从S3存储桶中读取.txt文件并查看内容?

  4. 4

    如何读取目录中的多个文件,这些文件都是带有Airflow S3 Hook或boto3的csv.gzip?

  5. 5

    pyspark 从 AWS S3 读取文件不起作用

  6. 6

    AWS s3的“ head”命令可查看文件内容

  7. 7

    AWS S3 Gzip非常慢

  8. 8

    如何从EMR中的s3中读取文件?

  9. 9

    如何从BufferedReader中S3中读取文件?

  10. 10

    使用org.apache.hadoop:hadoop-aws从pyspark中的s3中读取文件

  11. 11

    在Spark中从HDFS或S3读取边缘DB文件

  12. 12

    如何在EMR中从s3读取文件?

  13. 13

    无法在S3中设置文件内容类型

  14. 14

    无法在S3中设置文件内容类型

  15. 15

    读取公共 AWS S3 存储桶中的文件计数

  16. 16

    在发布到AWS S3之前,如何压缩/ gzip我缩小的.js和.css文件?

  17. 17

    尝试从Node.js中的AWS Lambda函数读取S3存储桶的内容时未获得结果

  18. 18

    从AWS S3存储桶读取的R reactFileFileReader

  19. 19

    如何将S3中的Json Gzip文件读入列表?

  20. 20

    在Lambda中读取AWS S3 CSV列名称

  21. 21

    从 r 中的 s3 一个一个读取文件

  22. 22

    从Java中的AWS S3映像获取内容类型

  23. 23

    AWS Lambda:如何在S3存储桶中读取CSV文件,然后将其上传到另一个S3存储桶?

  24. 24

    从子目录递归读取文件,并使用s3或本地文件系统中的spark

  25. 25

    将AWS s3文件读取为Java代码

  26. 26

    如何在AWS S3上读取匿名发布的文件?

  27. 27

    如何判断Spark使用什么AWS凭证读取S3文件?

  28. 28

    使用jQuery文件上传在S3中设置文件内容类型

  29. 29

    从s3存储桶读取gzip文件

热门标签

归档