Выполнение SQL-запроса в Impala Hue дает другое количество, чем при запуске с использованием Spark SQL - PullRequest
0 голосов
/ 24 апреля 2019

Выполнение одного и того же запроса в Impala Hue и Spark с разными значениями.

Я пытаюсь получить исторические данные из HDFS (из которой мы запрашиваем с использованием Impala, а таблицы в формате Parquet) в Postgres, используя задание Spark (2.2.0). Я выполняю запрос Impala с использованием spark.sql, а затем выгружаю созданный в Postgres информационный кадр с помощью операции записи.

Проблема здесь в том, что мои загруженные данные не совпадают с количеством оттенков Impala. Я попытался выполнить искровой код построчно в spark-shell и смог проверить это несоответствие.

Запрос

select trn.*
FROM
(select * from (select *, row_number() over (PARTITION BY trim(fbatch), trim(fsequence) order by sequence desc) as rnk from antuit_prod.mrs_inv_trn_delta) a where rnk = 1 and substr(sqldatetime, 1, 4) in ("2017")) trn

inner JOIN

(select * from (select *, row_number() over (PARTITION BY trim(fbatch), trim(fsequence) order by sequence desc) as rnk from antuit_prod.mrs_inv_mst_delta) b where rnk = 1) mst

ON trn.fbatch = mst.fbatch AND trn.fsequence = mst.fsequence

where trn.frectype='O' AND trn.fistrans!='Y'and trn.facilityid in ('0061','0028','0016','0043','0055','0039','0037','0040','0052')

Spark SQL

val DF = spark.sql("""Query""")

DF.write.mode("append").format("jdbc").option("url", "abc").option("dbtable", table).option("user", "xyz").option("password", "!@#").save()

Невозможно понять, почему такая разница. Любая помощь высоко ценится.

...