首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用spark-csv解析以^A (即\001)为分隔符的csv?

如何使用spark-csv解析以^A (即\001)为分隔符的csv?
EN

Stack Overflow用户
提问于 2016-03-15 17:47:00
回答 2查看 32K关注 0票数 14

对于spark、hive、大数据和scala等等都是非常新的东西。我正在尝试编写一个简单的函数,它接受一个sqlContext,从s3加载一个csv文件并返回一个DataFrame。问题是,这个特定的csv使用^A (即\001)字符作为分隔符,并且数据集很大,所以我不能只对其执行"s/\001/,/g“。此外,这些字段可能包含逗号或其他我可能用作分隔符的字符。

我知道我正在使用的spark-csv包有一个分隔符选项,但我不知道如何设置它,使它将\001读取为一个字符,而不是像转义的0、0和1那样的字符。也许我应该使用hiveContext或其他什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-15 17:55:51

如果查看GitHub页面,会发现spark-csv有一个delimiter参数(正如您还注意到的)。像这样使用它:

代码语言:javascript
复制
val df = sqlContext.read
    .format("com.databricks.spark.csv")
    .option("header", "true") // Use first line of all files as header
    .option("inferSchema", "true") // Automatically infer data types
    .option("delimiter", "\u0001")
    .load("cars.csv")
票数 27
EN

Stack Overflow用户

发布于 2019-05-08 00:46:40

对于Spark 2.x和CSV API,使用sep选项:

代码语言:javascript
复制
val df = spark.read
  .option("sep", "\u0001")
  .csv("path_to_csv_files")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36007686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档