<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: system.access.table_lineage - source and target table meanings in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/system-access-table-lineage-source-and-target-table-meanings/m-p/107704#M42892</link>
    <description>&lt;P&gt;Hi Eriodega,&lt;/P&gt;
&lt;P&gt;1. **source_type = null and target_type = TABLE**:&lt;BR /&gt;- This indicates a write operation to the table. The source is null because there is no source table involved in the operation, only a target table that is being written to.&lt;/P&gt;
&lt;P&gt;2. **source_type = TABLE, target_type = null**:&lt;BR /&gt;- This indicates a read operation from the table. The target is null because there is no target table involved in the operation, only a source table that is being read from.&lt;/P&gt;
&lt;P&gt;3. **source_type = TABLE (table X), target_type = TABLE (table Y)**:&lt;BR /&gt;- This scenario represents a transformation or data movement operation where data is read from one table (table X) and written to another table (table Y). This could be part of an ETL (Extract, Transform, Load) process or a similar data pipeline.&lt;/P&gt;
&lt;P&gt;4. **source_type = VIEW, target_type = TABLE**:&lt;BR /&gt;- This indicates that data is being read from a view and written to a table. The view acts as the source, and the table is the target where the data is being written.&lt;/P&gt;
&lt;P&gt;5. **source_type = TABLE, target_type = VIEW**:&lt;BR /&gt;- This scenario suggests that the view is being created or updated based on the data read from the table. The table is the source, and the view is the target that is being defined or modified.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 30 Jan 2025 07:07:37 GMT</pubDate>
    <dc:creator>Sidhant07</dc:creator>
    <dc:date>2025-01-30T07:07:37Z</dc:date>
    <item>
      <title>system.access.table_lineage - source and target table meanings</title>
      <link>https://community.databricks.com/t5/data-engineering/system-access-table-lineage-source-and-target-table-meanings/m-p/107642#M42877</link>
      <description>&lt;P&gt;I've been using the system.access.table_lineage table, and I'm trying to understand when the source and target tables are defined.&lt;BR /&gt;For example, picking a specific job run and looking at the lineage:&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;select&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;source_type, &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;source_table_full_name, &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;target_type, &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;target_table_full_name&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt; &lt;SPAN&gt;system&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;access&lt;/SPAN&gt;&lt;SPAN&gt;.table_lineage&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;where&lt;/SPAN&gt; &lt;SPAN&gt;1=1&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;and&lt;/SPAN&gt;&lt;SPAN&gt; entity_id &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;279912916130857&lt;/SPAN&gt; &lt;SPAN&gt;and&lt;/SPAN&gt;&lt;SPAN&gt; entity_run_id &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;335708887601361&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;order by&lt;/SPAN&gt;&lt;SPAN&gt; event_time &lt;/SPAN&gt;&lt;SPAN&gt;DESC&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LIMIT&lt;/SPAN&gt; &lt;SPAN&gt;1000&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;I see a few scenarios:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;source_type = null and target_type =TABLE (I think this is a write to the table)&lt;/LI&gt;&lt;LI&gt;source_type = TABLE, target_type = null (I think this is a read of a table)&lt;/LI&gt;&lt;LI&gt;source_type = TABLE (table X), target_type = TABLE (table Y) - I don't know what this is&lt;/LI&gt;&lt;LI&gt;source_type = VIEW, target_type = TABLE - I don't know what this is&lt;/LI&gt;&lt;LI&gt;source_type = TABLE, target_type = VIEW (I think this is a read of the "target" view, indicating it then reads from the "source" of the table)&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;I looked over the documentation in&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;DESCRIBE TABLE EXTENDED system.access.table_lineage&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;but it did not help with my understanding.&lt;/P&gt;</description>
      <pubDate>Wed, 29 Jan 2025 17:00:27 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/system-access-table-lineage-source-and-target-table-meanings/m-p/107642#M42877</guid>
      <dc:creator>eriodega</dc:creator>
      <dc:date>2025-01-29T17:00:27Z</dc:date>
    </item>
    <item>
      <title>Re: system.access.table_lineage - source and target table meanings</title>
      <link>https://community.databricks.com/t5/data-engineering/system-access-table-lineage-source-and-target-table-meanings/m-p/107704#M42892</link>
      <description>&lt;P&gt;Hi Eriodega,&lt;/P&gt;
&lt;P&gt;1. **source_type = null and target_type = TABLE**:&lt;BR /&gt;- This indicates a write operation to the table. The source is null because there is no source table involved in the operation, only a target table that is being written to.&lt;/P&gt;
&lt;P&gt;2. **source_type = TABLE, target_type = null**:&lt;BR /&gt;- This indicates a read operation from the table. The target is null because there is no target table involved in the operation, only a source table that is being read from.&lt;/P&gt;
&lt;P&gt;3. **source_type = TABLE (table X), target_type = TABLE (table Y)**:&lt;BR /&gt;- This scenario represents a transformation or data movement operation where data is read from one table (table X) and written to another table (table Y). This could be part of an ETL (Extract, Transform, Load) process or a similar data pipeline.&lt;/P&gt;
&lt;P&gt;4. **source_type = VIEW, target_type = TABLE**:&lt;BR /&gt;- This indicates that data is being read from a view and written to a table. The view acts as the source, and the table is the target where the data is being written.&lt;/P&gt;
&lt;P&gt;5. **source_type = TABLE, target_type = VIEW**:&lt;BR /&gt;- This scenario suggests that the view is being created or updated based on the data read from the table. The table is the source, and the view is the target that is being defined or modified.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jan 2025 07:07:37 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/system-access-table-lineage-source-and-target-table-meanings/m-p/107704#M42892</guid>
      <dc:creator>Sidhant07</dc:creator>
      <dc:date>2025-01-30T07:07:37Z</dc:date>
    </item>
    <item>
      <title>Re: system.access.table_lineage - source and target table meanings</title>
      <link>https://community.databricks.com/t5/data-engineering/system-access-table-lineage-source-and-target-table-meanings/m-p/109215#M43242</link>
      <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/36707"&gt;@Sidhant07&lt;/a&gt;thanks for the answer, I think it is good, but I am questioning scenario #5 (source=table,target=view).&lt;BR /&gt;I'm looking at some examples in our table_lineage, and we aren't modifying the view or creating the view from within a job. I think scenario #5 is more likely "queried a view X and the query that defines view X has queried table Y".&lt;BR /&gt;Or does "target" always imply some sort of write operation?&lt;/P&gt;</description>
      <pubDate>Thu, 06 Feb 2025 14:29:42 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/system-access-table-lineage-source-and-target-table-meanings/m-p/109215#M43242</guid>
      <dc:creator>eriodega</dc:creator>
      <dc:date>2025-02-06T14:29:42Z</dc:date>
    </item>
  </channel>
</rss>

