对于大数据项目,我计划使用spark,它具有一些很好的功能,如内存计算,用于重复的工作负载.它可以在本地文件上运行,也可以在HDFS上运行.
但是,在官方文档中,我找不到任何关于如何处理gzip文件的提示.实际上,处理.gz文件而不是解压缩文件会非常有效.
有没有办法手动实现gzip压缩文件的读取或在读取.gz文件时已经自动解压缩?
我有.gz压缩格式的行数据.我必须在pyspark中阅读以下是代码片段
rdd = sc.textFile("data/label.gz").map(func)
Run Code Online (Sandbox Code Playgroud)
但我无法成功阅读上述文件.我如何读取gz压缩文件.我在这里找到了一个类似的问题,但我当前版本的spark与该问题中的版本不同.我希望在hadoop中应该有一些内置函数.
如何在Spark 2.0上的Pyspark中加载gzip压缩的csv文件?
我知道可以按如下方式加载未压缩的csv文件:
spark.read.format("csv").option("header",
"true").load("myfile.csv")
Run Code Online (Sandbox Code Playgroud)
要么
spark.read.option("header", "true").csv("myfile.csv")
Run Code Online (Sandbox Code Playgroud) 我正在做一个实验,以了解s3和[EMR + Spark]哪种文件大小表现最佳
输入数据:不可压缩数据:文件中的随机字节总数据大小:20GB每个文件夹具有不同的输入文件大小:从2MB到4GB文件大小。
集群规格:1个主节点+ 4个节点:C3.8xls-驱动程序内存5G \-执行程序内存3G \-执行程序核心2 \-执行程序60 \
代码:
scala> def time[R](block: => R): R = {
val t0 = System.nanoTime()
val result = block // call-by-name
val t1 = System.nanoTime()
println("Elapsed time: " + (t1 - t0) + "ns")
result
}
time: [R](block: => R)R
scala> val inputFiles = time{sc.textFile("s3://bucket/folder/2mb-10240files-20gb/*/*")};
scala> val outputFiles = time {inputFiles.saveAsTextFile("s3://bucket/folder-out/2mb-10240files-20gb/")};
Run Code Online (Sandbox Code Playgroud)
观察=>
问题=>
您能帮我使用 Glue 数据爬虫读取 tar.gz 文件吗?我有一个 tar.gz 文件,其中包含 S3 中不同架构的几个文件,当我尝试运行爬网程序时,我在数据目录中看不到该架构。我们应该使用自定义分类器吗?AWS Glue 常见问题解答指定使用分类器支持 gzip,但未在 Glue 分类器部分提供的分类器列表中列出。