【发布时间】:2020-10-30 06:27:16
【问题描述】:
我在 AWS EMR 集群上有一个 Scala Spark 笔记本,它从 AWS S3 存储桶加载数据。以前,我有如下标准代码:
var stack = spark.read.option("header", "true").csv("""s3://someDirHere/*""")
这会将多个文件目录 (.txt.gz) 加载到名为 stack 的 Spark DataFrame 对象中。
最近,此目录中添加了新文件。新文件的内容看起来是一样的(我下载了几个并使用 Sublime Text 和 Notepad++ 打开它们)。我尝试了两种不同的文本编辑器,看看是否有一些不可见的非 unicode 字符干扰了将第一行作为标题的解释。新的数据文件导致我上面的代码忽略第一行,而是将第二行解释为标题。我尝试了一些变体但没有运气,以下是我尝试过的一些示例:
var stack = spark.read.option("quote", "\"").option("header", "true").csv("""s3://someDirHere/*""") // header not detected
var stack = spark.read.option("escape", "\"").option("header", "true").csv("""s3://someDirHere/*""") // header not detected
var stack = spark.read.option("escape", "\"").option("quote", "\"").option("header", "true").csv("""s3://someDirHere/*""") // header not detected
我希望我可以共享这些文件,但它包含机密信息。只是想知道是否有一些关于我可以尝试的想法。
【问题讨论】:
标签: scala apache-spark