10-18-2022 04:08 AM
let's say there is a database db in which 700 tables are there, and we need to find all the tables name in which column "project_id" is present.
just an example for ubderstanding the questions.
10-18-2022 04:53 AM
databaseName = "db"
desiredColumn = "project_id"
database = spark.sql(f"show tables in {databaseName} ").collect()
tablenames = []
for row in database:
cols = spark.table(row.tableName).columns
if desiredColumn in cols:
tablenames.append(row.tableName)
Something close to that should work.
10-18-2022 04:53 AM
databaseName = "db"
desiredColumn = "project_id"
database = spark.sql(f"show tables in {databaseName} ").collect()
tablenames = []
for row in database:
cols = spark.table(row.tableName).columns
if desiredColumn in cols:
tablenames.append(row.tableName)
Something close to that should work.
10-18-2022 04:58 AM
Thanks josephk it worked
10-18-2022 11:09 AM
Other possible solutions:
02-27-2023 09:43 AM
Thanks @Joseph Kambourakis
but the code seems to rendering errors at my end:
com.immuta.spark.exceptions.NoSuchDataSourceException: A data source with the table name '`v_table_name`' does not exist, is not in the current project, or is not accessible by the current user.
I've changed the original table name to 'v_table_name', as it happenes the table name is the first table on the schema, so it seems the code is searching through the schema but fails on the first table for some reason. Thanks
03-14-2023 11:04 AM
Sounds like an immuta problem, ask them. Def not a spark error.
Join a Regional User Group to connect with local Databricks users. Events will be happening in your city, and you won’t want to miss the chance to attend and share knowledge.
If there isn’t a group near you, start one and help create a community that brings people together.
Request a New Group