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

如何在不使用databricks CSV api的情况下将CSV文件直接读入spark DataFrames?

赵永逸
2023-03-14

如何在不使用databricks CSV api的情况下将CSV文件直接读入spark DataFrames?
我知道有databricks CSV api,但我不能使用该api...
我知道有case类可以使用,并根据cols(0)位置映射cols,但问题是我有超过22个颜色,因此我不能使用case类,因为在case类中,我们限制只能使用22个颜色。我知道有structtype来定义模式,但我觉得在Structype中定义40个颜色将是非常笨拙的代码。我正在寻找一些东西,以读取到dataframe使用读取方法,但在spark中,我们没有直接支持csv文件,我们需要解析它?但是如果我们有40多个Cols怎么办??

共有1个答案

华景明
2023-03-14

从Scala2.11.x开始,特性限制问题就被修复了。请查看https://issues.scala-lang.org/browse/si-7296

要在<2.11中克服这个问题,请参阅我的答案,它使用Extendproduct和重写方法ProductarityProductelementCanequal(that:any)

 类似资料:
  • 问题内容: 我必须用Java读取CSV文件,我用Google对其进行了搜索,但是我有办法使用标题进行读取;但我没有文件中可用的列标题和列数的信息。在这种情况下,我该如何读取CSV文件。 谢谢 问题答案: 您可以假设每一行都是String类,并将所有内容读取到二维数组中。之后,您可以尝试将字符串解析为适当的格式。 但是,如果您不知道行数据类型,这只是一个猜测。

  • 在CSV文件中写入时,会自动创建文件夹,然后创建具有神秘名称的csv文件,如何使用任何特定名称创建此CSV,但无需在pyspark而不是熊猫中创建文件夹。

  • 问题内容: 我想将csv文件导入到mysql中。 http://www.tech- recipes.com/rx/2345/import_csv_file_direct_into_mysql/ 但是csv中的列名称与数据库表中的列名称不同,我该怎么办?我想以编程方式来做。 问题答案: 您可以创建一个脚本来解析您的csv文件并将数据放入db。 就像是:

  • 问题内容: 去年,我通过此链接为Web服务制作了JAX- WS客户端 该Web 服务使用STS服务获取SAML令牌并使用它访问主要Web服务。我使用apache cxf的wsdl2java为该Web服务生成JAX-WS客户端。一切都很好。 最近,他们已更新其STS服务端点。这个新的STS服务端点。其中具有不同的签名和摘要算法。它在请求正文中有一些额外的元素。 我试图修改当前代码,以使其支持新的ST

  • 问题内容: 我正在解决Programming Pearls,第二版,第1列中的问题。其中一个问题涉及编写一个程序,该程序仅使用大约1 MB的内存将文件内容存储为位数组,每个位代表是否或文件中没有7位数字。由于Java是我最熟悉的语言,因此即使作者似乎已经想到了C和C ++,我还是决定使用它。 由于我是为了解决我正在处理的问题而假装有限的内存,因此我想确保读取文件的过程完全没有缓冲。 在我阅读Jav

  • 问题内容: 我已经在Swift 2中使用了这种方法 但是不知道如何在不使用 NSDictionary(contentsOfFile:path)的* 情况下在Swift3中读取plist * 问题答案: Swift的本机方法是使用 ~~~~ 您还可以使用类型强制转换: 但您明确地写道: 不使用NSDictionary(contentsOf … 基本上,不要在Swift中不进行强制转换而使用,您将丢弃