2つのシート(csv)が存在するシナリオがあります。それに対して2つのテーブルを作成しました。 良いデータがあると、2番目のテーブルの値(ID統計値)でマップできます。私が悪いデータを持っているならば、私はそれをid統計値でもう一度マップしなければなりません(ただし値は異なります)。しかし、私はspark SQLには存在しません。そして、私は以下のエラーを受け取ります:SPARK SQLが存在しないか存在しない
期待通りの 'from'期待値{、 'WHERE'、 'GROUP'、 'ORDER'、 'HAVING'、 'LIMIT'、 'LATERAL'、 'WINDOW'、 'UNION' 、 'INTERSECT'、 'ソート'、 'CLUSTER' 'を除き'、 'DISTRIBUTE'}(行1、POS 386)
at org.apache.spark.sql.catalyst.parser.ParseException.withCommand(ParseDriver.scala:197)
at org.apache.spark.sql.catalyst.parser.AbstractSqlParser.parse(ParseDriver.scala:99)
at org.apache.spark.sql.execution.SparkSqlParser.parse(SparkSqlParser.scala:45)
CODE:
select
a.ptf_id,a.ptf_code,a.share_id,a.share_code,a.bench_id,a.bench_code
, a.l1_calculation_date,a.l1_begin_date,a.l1_end_date,a.l1_running_date
, a.l1_frequency,a.l1_calculation_step,a.l1_performance_currency
, a.l1_configuration,a.l1_valuation_source,a.l1_nav_valuation_type
, a.l1_setting_reference_type, a.l1_setting_valuation_type
, a.l1_sharpe_ratio_annualized as value,b.id_statistic
from
parquetFile a,
pairRDD b,
stats c
where
a.l1_nav_valuation_type= b.l1_nav_valuation_type
and a.l1_valuation_source = b.l1_valuation_source
and b.l1_Perf = 'l1_sharpe_ratio_annualized'
OR (a.ptf_id not EXISTS (
select e.ptf_id from pairRDD d, parquetFile e
where d.l1_valuation_source = e.l1_valuation_source
AND d.l1_nav_valuation_type = e.l1_nav_valuation_type)
and b.l1_valuation_source ='')
このクエリ作品SQLで "NOT IN"を使用する場合 このシーンで使用する他のオプションについて教えてくださいアリオ以外には存在しない。
1つのオプションは外部結合を使用することです。あなたの質問は率直に少し読みにくいですが、私はあなたが結合を使ってそれを変換することができるはずだと思います。がんばろう。 – lrnzcig