apache-spark - CSV文件读取火花1.6
问题描述
我的 csv 文件看起来
123456
Name age branch
Mahesh 21 ece
Pawan 22 cse
Count-21
它有标题(123456)和预告片(count-21)
我尝试使用 spark 1.6 创建的 spark 上下文来阅读它并阅读
Val df = spark.read.option("com.databrics.csv").option("header",false). option("inferSchema",false).load(path)
df.show()
而且我能够读取数据,但它只读取第一列
123456
Name
Mahesh
Pawan
Count-21
剩下的不是阅读,我可以添加任何额外的选项。
运行 df.show() 时的预期输出
123456
Name age branch
Mahesh 21 ece
Pawan 22 cse
Count-21
输出得到:
123456
Name
Mahesh
Pawan
Count-21
解决方案
您的输入文件不是一个好的 csv 文件。它不是逗号分隔的,这是 databricks 的默认值。如果文件是制表符分隔的,您可以使用.option("delimiter", "\t")
. 字段的数量也不应该在行之间变化。Spark 无法从第一行判断文件中有多少字段。如果第一行可以用正确的字段数固定,并且字段之间的分隔符是一致的,那么您应该能够读取它。
推荐阅读
- c# - 使用单元素数组的 JSON.NET 自定义序列化
- python - 在具有多个参数的 pandas 数据帧上应用滚动函数
- flutter - Container BoxShadow 不适用于 InkWell 材料
- python - Headless Selenium 未使用 Chrome 驱动程序在 Python 中提取数据
- python - python在不使用for循环的情况下,与其他列表的嵌套列表的每个元素类似地查找
- android - 按下浮动操作按钮并单击地图时,Google Maps 检测到长按
- scala - 读取 Spark 属性文件
- python - 将列表元素“随机无重复”附加到多个 html 文件
- android - Android 错误:权限被拒绝:启动 Intent
- c++ - 如何对参数化模板函数进行类型推导