除了在数据块 sql 中不起作用的命令 (spark sql)
Except command not working in databrick sql (spark sql)
我已经写了这个除了查询以从 databricks notebook 的两个配置单元表中获取记录差异。(我试图在 mssql 中获得结果,即只有结果集的差异)
select PreqinContactID,PreqinContactName,PreqinPersonTitle,EMail,City
from preqin_7dec.PreqinContact where filename='InvestorContactPD.csv'
except
select CONTACT_ID,NAME,JOB_TITLE,EMAIL,CITY
from preqinct.InvestorContactPD where contact_id in (
select PreqinContactID from preqin_7dec.PreqinContact
where filename='InvestorContactPD.csv')
但是返回的结果集也有匹配的 records.The 记录,我在上面显示的记录正在结果集中但是当我根据 contact_id 单独检查它时它是 same.so我不确定为什么 except 也返回匹配记录。
只是想知道我们如何使用 sql.
在 databrick notebook 中使用 except 或任何差异查找命令
如果源数据和目标数据相同,我不想在结果集中看到任何内容。
EXCEPT
在 Databricks 中运行良好,因为这个简单的测试将显示:
val df = Seq((3445256, "Avinash Singh", "Chief Manager", "asingh@gmail.com", "Mumbai"))
.toDF("contact_id", "name", "job_title", "email", "city")
// Save the dataframe to a temp view
df.createOrReplaceTempView("tmp")
df.show
SQL 测试:
%sql
SELECT *
FROM tmp
EXCEPT
SELECT *
FROM tmp;
此查询不会产生任何结果。例如,您是否有可能有一些前导或尾随空格? Spark 也区分大小写,因此这也可能导致您的问题。通过将 LOWER
函数应用于所有列来尝试不区分大小写的测试,例如
我已经写了这个除了查询以从 databricks notebook 的两个配置单元表中获取记录差异。(我试图在 mssql 中获得结果,即只有结果集的差异)
select PreqinContactID,PreqinContactName,PreqinPersonTitle,EMail,City
from preqin_7dec.PreqinContact where filename='InvestorContactPD.csv'
except
select CONTACT_ID,NAME,JOB_TITLE,EMAIL,CITY
from preqinct.InvestorContactPD where contact_id in (
select PreqinContactID from preqin_7dec.PreqinContact
where filename='InvestorContactPD.csv')
但是返回的结果集也有匹配的 records.The 记录,我在上面显示的记录正在结果集中但是当我根据 contact_id 单独检查它时它是 same.so我不确定为什么 except 也返回匹配记录。
只是想知道我们如何使用 sql.
在 databrick notebook 中使用 except 或任何差异查找命令如果源数据和目标数据相同,我不想在结果集中看到任何内容。
EXCEPT
在 Databricks 中运行良好,因为这个简单的测试将显示:
val df = Seq((3445256, "Avinash Singh", "Chief Manager", "asingh@gmail.com", "Mumbai"))
.toDF("contact_id", "name", "job_title", "email", "city")
// Save the dataframe to a temp view
df.createOrReplaceTempView("tmp")
df.show
SQL 测试:
%sql
SELECT *
FROM tmp
EXCEPT
SELECT *
FROM tmp;
此查询不会产生任何结果。例如,您是否有可能有一些前导或尾随空格? Spark 也区分大小写,因此这也可能导致您的问题。通过将 LOWER
函数应用于所有列来尝试不区分大小写的测试,例如