-1
私はDataFrame(Apache Spark 1.5)を持っています。 spark SQLコンテキストを使用して新しい列を追加して、すべてのローが単一引用符を含む新しい列を取得します。Spark SQLの一重引用符エラー
マイコード:実行スパーク投げた後
df.registerTempTable("tempdf");
df = df.sqlContext().sql("SELECT *, \" \\\" \" as quoteCol FROM tempdf");
次の例外:
Exception in thread "main" java.lang.RuntimeException: [1.44] failure: ``union'' expected but ErrorToken(end of input) found
SELECT *, " \" " as quoteCol FROM tempdf
^
at scala.sys.package$.error(package.scala:27)
at org.apache.spark.sql.catalyst.AbstractSparkSQLParser.parse(AbstractSparkSQLParser.scala:36)
at org.apache.spark.sql.catalyst.DefaultParserDialect.parse(ParserDialect.scala:67)
at org.apache.spark.sql.SQLContext$$anonfun$2.apply(SQLContext.scala:211)
at org.apache.spark.sql.SQLContext$$anonfun$2.apply(SQLContext.scala:211)
at org.apache.spark.sql.execution.SparkSQLParser$$anonfun$org$apache$spark$sql$execution$SparkSQLParser$$others$1.apply(SparkSQLParser.scala:114)
at org.apache.spark.sql.execution.SparkSQLParser$$anonfun$org$apache$spark$sql$execution$SparkSQLParser$$others$1.apply(SparkSQLParser.scala:113)
at scala.util.parsing.combinator.Parsers$Success.map(Parsers.scala:137)
...
次のコード作業を正しくし、単一文字で新しい行を追加します。
df.registerTempTable("tempdf");
df = df.sqlContext().sql("SELECT *, \" q \" as quoteCol FROM tempdf");
何午前私は間違っている?私は、私が使用できないことを理解tempdf` FROM quoteColとして、 `* SELECT '\' ':
を次式が同じ例外が発生しますそれらの外側の同じ引用符の中に引用符? –
私のためにうまく動作します。 –