首页 > 解决方案 > 检查内存中的 RDD 表是否存在,并使用 Databricks 中的 TeraData 连接将所有存在的表联合起来?

问题描述

作为每周工作的一部分,我正在检查许多表,并希望使查询动态化。目前,我手动检查每个表,然后使用一系列嵌套的“try-except”语句附加那些存在的表。展望未来,企业希望添加更多表格

我想从 tera 数据创建一个查询/连接,它可以扫描表是否存在。如果它确实存在于 Teradata 中,请将其导入 databricks,将所有导入的表合并在一起,然后对合并后的表执行一系列计算。

query = '''
(
SELECT 
*
FROM dleci_sa.eg_wk{}_kcg_result
) as df'''.format(last_week)

df_kcg = read_teradata_parallel(jdbcDatabase,td_user,td_pass,query)

#unionise the two disparate df together
try:
  df=df_kcg.union(df_ptvb).cache()
  df.count()
except:
  
  try:
    df=df_ptvb
  except:
    df=df_kcg

这样看,我可以很好地检查表是否存在。如果不是“df_kcg”(来自代码)将不会返回任何值。当我需要动态地将它们联合在一起时,问题就出现了。帮助!!

标签: pysparkazure-databricks

解决方案


推荐阅读