0
私はspark-shellで次のクエリを呼び出します。Spark-CSV sqlContextに関する問題
sqlContext.sql("select cast(ts_time as varchar(10)),cast(y as varchar(10)),cast('0' as varchar(3)),case when x0 = '' then cast(null as float) else cast(x0 as float) end from tasmaxload UNION ALL
select cast(ts_time as varchar(10)),cast(y as varchar(10)),cast('1' as varchar(3)),case when x1 = '' then cast(null as float) else cast(x1 as float) end from tasmaxload").registerTempTable("testcast");
これは、一部の場所では、閉じられていない文字列リテラルをスローします。
私は、クエリが次のように1行で与えられれば、エラーはなく、正常に実行されることを理解しました。
sqlContext.sql("select cast(ts_time as varchar(10)),cast(y as varchar(10)),cast('0' as varchar(3)),case when x0 = '' then cast(null as float) else cast(x0 as float) end from tasmaxload UNION ALL select cast(ts_time as varchar(10)),cast(y as varchar(10)),cast('1' as varchar(3)),case when x1 = '' then cast(null as float) else cast(x1 as float) end from tasmaxload").registerTempTable("testcast");
ただし、1行にすることなくこの問題を管理できる方法はありますか?
元のクエリが150以上の行に分割されており、常に1行に変更し続けることができないため、これを尋ねます。
誰かがこれで私を助けることができますか? FYI
:私もを使用してみました:モードを貼り付けます。
ありがとうございます。