編集:これはSpark 1.2に関する古い質問です
orderBy の目的で、SchemaRDD の文字列列の長さをオンザフライで計算しようとしています。私は Spark SQL を学んでいるので、私の質問は、Spark SQL が公開する DSL または SQL インターフェイスの使用、またはそれらの制限を知ることについて厳密です。
私の最初の試みは、たとえば、統合されたリレーショナル クエリを使用することでした。
notes.select('note).orderBy(length('note))
コンパイルで運が悪い:
error: not found: value length
(これにより、この DSL が実際に解決できる「式」がどこにあるのか疑問に思います。たとえば、列の追加の「+」を解決します。)
それから私は試しました
sql("SELECT note, length(note) as len FROM notes")
これは失敗します
java.util.NoSuchElementException: key not found: length
(それから私はこれを読み直しました (私は 1.2.0 を実行しています) http://spark.apache.org/docs/1.2.0/sql-programming-guide.html#supported-hive-features とどのような意味で Spark SQLリストされたハイブ機能をサポートします。)
質問: 長さ演算子は、式や SQL ステートメントで本当にサポートされていますか? はいの場合、構文は何ですか? (おまけ: Spark SQL Expressions で解決されるものと、一般的な構文についての特定のドキュメントはありますか?)
ありがとう!