Apache spark S3上的拼花文件格式:哪个是实际的拼花文件?
Scala 2.12和Spark 2.2.1。我使用以下代码将Apache spark S3上的拼花文件格式:哪个是实际的拼花文件?,apache-spark,amazon-s3,parquet,Apache Spark,Amazon S3,Parquet,Scala 2.12和Spark 2.2.1。我使用以下代码将数据帧的内容写入S3: myDF.write.mode(SaveMode.Overwrite) .parquet("s3n://com.example.mybucket/mydata.parquet") 当我在S3上转到com.example.mybucket时,我实际上看到了一个名为“mydata.parquet”的目录,以及名为“mydata.parquet\uu$folder$”的文件!!!如果我进入mydata.parq
数据帧的内容写入S3:
myDF.write.mode(SaveMode.Overwrite)
.parquet("s3n://com.example.mybucket/mydata.parquet")
当我在S3上转到com.example.mybucket
时,我实际上看到了一个名为“mydata.parquet”的目录,以及名为“mydata.parquet\uu$folder$”的文件!!!如果我进入mydata.parquet
目录,我会在下面看到两个文件:
\u成功
;及
part-.snappy.parquet
而我只是希望看到一个名为mydata.parquet
的文件存在于桶的根中
这里是否有问题(如果有,是什么?!?)或者拼花文件格式是否会出现这种情况?如果是预期的,我应该从哪个实际拼花文件中读取:
mydata.parquet
directory?;或
mydata.parquet_$folder$
file?;或
mydata.parquet/part-.snapy.parquet
谢谢 mydata.parquet/part-.snapy.parquet
是实际的拼花数据文件。但是,像Spark break这样的工具通常会将数据集放入多个部分文件中,并期望指向包含多个文件的目录。\u SUCCESS
文件是一个简单的标志,指示写入操作已完成。mydata.parquet/part-.snappy.parquet
是实际的拼花数据文件。但是,像Spark break这样的工具通常会将数据集放入多个部分文件中,并期望指向包含多个文件的目录。\u SUCCESS
文件是一个简单的标志,指示写入操作已完成。根据api,保存保存在您提供的文件夹中的parqueat文件。成功是这个过程迅速完成的前提
S3如果直接向S3写入commit,则创建这些$folder。它会写入临时文件夹并复制到s3中的最终目的地。原因是没有重命名的概念
查看s3 distcp和DirectCommitter以了解性能问题。根据api将其保存的parqueat文件保存在您提供的文件夹中。成功是这个过程迅速完成的前提
S3如果直接向S3写入commit,则创建这些$folder。它会写入临时文件夹并复制到s3中的最终目的地。原因是没有重命名的概念
查看s3 distcp和DirectCommitter以了解性能问题
$folder$标记被s3n/amazon的emrfs用来表示“空目录”。忽略
正如其他人所指出的那样,_SUCCESS文件是一个0字节的文件。忽略
目录中的所有其他.parquet文件都是输出;最终的数量取决于在输入端执行的任务数量
当spark使用目录(树)作为数据源时,所有以u或开头的文件都将被删除。被忽视;s3n也会去掉那些$folder$的东西。因此,如果您使用新查询的路径,它将只拾取该拼花地板文件
$folder$标记被s3n/amazon的emrfs用来表示“空目录”。忽略
正如其他人所指出的那样,_SUCCESS文件是一个0字节的文件。忽略
目录中的所有其他.parquet文件都是输出;最终的数量取决于在输入端执行的任务数量
当spark使用目录(树)作为数据源时,所有以u或开头的文件都将被删除。被忽视;s3n也会去掉那些$folder$的东西。因此,如果您使用新查询的路径,它将只拾取该拼花地板文件。不是直接提交者:无法处理故障…这是spark 2.x中缺少该路径的原因不是直接提交者:无法处理故障…这是spark 2.x中缺少该路径的原因