当前位置: 首页 > 知识库问答 >
问题:

如何为包含30MB+数据大型平面文件生成一个。avro文件

满雨石
2023-03-14

还有什么方法可以避免手动声明列名。

spark-shell--packages com.databricks:spark-csv2.10:1.5.0,com.databricks:spark-avro2.10:2.0.1

导入org.apache.spark.sql.types.{StructType,StructField,StringType}

val df=sqlcontext.read.format(“com.databricks.spark.csv”).选项(“comment”,“\”“).选项(”quote“,”“).schema(customSchema).load(”/tmp/file.txt“)

f.write.format(“com.databricks.spark.avro”).save(“/tmp/avroout”)

//注意:/tmp/file.txt是输入文件/dir,/tmp/avroout是输出dir

共有1个答案

羊舌昆杰
2023-03-14

在以avro或任何格式写入数据时,请尝试指定dataframe的分区数。要修复此问题,请使用repartitioncoalescedf函数。

df.coalesce(1).write.format(“com.databricks.spark.avro”).save(“/tmp/avroout”)

因此它只在“/tmp/avroout”中写入一个文件

 类似资料:
  • 问题内容: JavaScript中是否有类似于CSS的东西,允许您在另一个JavaScript文件中包含一个JavaScript文件? 问题答案: JavaScript的旧版本没有导入,包含或要求,因此已经开发了许多解决此问题的方法。 但是自2015年(ES6)起,JavaScript有了ES6模块标准即可在Node.js中导入模块,大多数现代浏览器也支持该模块。 为了与旧浏览器的兼容性,这样的构

  • 问题内容: 我有一个平面文件,其中包含339276行文本,大小为62.1 MB。我试图读取所有行,根据我所具有的某些条件解析它们,然后将它们插入数据库。 我最初尝试使用bufio.Scan()循环和bufio.Text()来获取行,但我的缓冲区空间不足。我切换到使用bufio.ReadLine / ReadString / ReadByte(我尝试了每种方法),并且每种方法都有相同的问题。我没有足

  • 问题内容: 我正在使用cx_freeze部署我的应用程序。我想包含整个目录,因为包含单个文件不会将它们放在文件夹中。如何包含文件夹? 问题答案: 您必须为构建选项设置一个include files参数。您可以通过不同的方式执行此操作,但是我将展示部分配置。我在这里描述的是针对一个特定的文件和一个特定的目的地。我认为您也可以设置这样的路径,但是我尚未对此进行测试。 编辑: 对此进行了测试,因此请为您

  • 我有一个多模块Maven projet,我想构建一个包含所有要在生产服务器上交付的文件的zip文件,这意味着一个war文件和一堆shell脚本。 这里是我父母pom的一些摘录。xml: war文件在eloi web项目中生成。所以我有一个问题,因为父母是pom。xml是首先执行的,所以我实际上得到了我的zip文件,但是在构建之前,使用了war文件的旧版本,如果我先清理,它就会崩溃。我不知道如何解决

  • 我有一个应用程序,我想打包成一个文件,但遇到了选项的问题,包括html、js和css文件。运行(当然,在将各个数据文件的路径和所需路径添加到.spec文件的中的后,该过程工作正常。 我尝试了这个问题中提出的解决方案,但打包后返回了一个错误。此外,如果不包含这个答案所建议的代码,那么打包到一个文件就可以很好地工作,再次丢失了我需要的html、js和css。 有人在pyinstaller 3.1中遇到

  • 问题内容: 我如何将一个js文件包含到另一个js文件中,以便坚持DRY原则并避免重复代码。 问题答案: 您只能在HTML页面中包含脚本文件,而不能在另一个脚本文件中包含脚本文件。也就是说,您 可以 编写JavaScript来将“包含”脚本加载到同一页面中: 您的代码很有可能取决于您的“包含”脚本,但是在这种情况下,它可能会失败,因为浏览器将异步加载“导入”脚本。最好的选择是仅使用jQuery或YU