我正在使用 SQLContext 读取这样的 CSV 文件:
val csvContents = sqlContext.read.sql("SELECT * FROM
csv.`src/test/resources/afile.csv` WHERE firstcolumn=21")
但它打印出第一列作为_c0
并包括其下的标题。如何设置标题并使用 SQL 查询?我见过这个解决方案:
val df = spark.read
.option("header", "true") //reading the headers
.csv("file.csv")
但这不允许我SELECT
使用WHERE
子句进行查询。有没有办法指定 CSV 标头并进行SQL SELECT
查询?
事实证明标题没有被正确解析。CSV 文件以制表符分隔,因此我必须明确指定:
val csvContents = sqlContext.read
.option("delimiter", "\t")
.option("header", "true")
.csv(csvPath)
.select("*")
.where(s"col_id=22")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句