【发布时间】:2017-04-26 02:19:28
【问题描述】:
当我在 spark-shell(1.6 版本) 上查询数据帧时,列名不区分大小写。 在 Spark-Shell 上
val a = sqlContext.read.parquet("<my-location>")
a.filter($"name" <=> "andrew").count()
a.filter($"NamE" <=> "andrew").count()
以上两个结果都给了我正确的计数。 但是当我在一个 jar 中构建它并通过“spark-submit”运行时,下面的代码失败说 NameE 不存在,因为底层镶木地板数据被保存为“name”列
失败:
a.filter($"NamE" <=> "andrew").count()
通过:
a.filter($"name" <=> "andrew").count()
我在这里遗漏了什么吗?有没有办法让它不区分大小写。 我知道我可以在过滤之前使用 select 并将所有列设为小写别名,但想知道为什么它的行为不同。
【问题讨论】:
标签: apache-spark apache-spark-sql