diff --git a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java
index 94ef225..37084d5 100644
--- a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java
+++ b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java
@@ -70,7 +70,7 @@
     public static final String HOOK_HIVE_TABLE_PRUNE_PATTERN                             = CONF_PREFIX + "hive_table.prune.pattern";
     public static final String HOOK_HIVE_TABLE_CACHE_SIZE                                = CONF_PREFIX + "hive_table.cache.size";
     public static final String HOOK_HIVE_IGNORE_DDL_OPERATIONS                           = CONF_PREFIX + "hs2.ignore.ddl.operations";
-    public static final String HOOK_HIVE_FILTER_ENTITY_TYPES_TO_RETAIN                   = CONF_PREFIX + "hs2.filter.entity.types.to.retain";
+    public static final String HOOK_HIVE_FILTER_ENTITY_ADDITIONAL_TYPES_TO_RETAIN = CONF_PREFIX + "hs2.filter.entity.additional.types.to.retain";
     public static final String DEFAULT_HOST_NAME = "localhost";
 
     private static final Map<String, HiveOperation> OPERATION_MAP = new HashMap<>();
diff --git a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/utils/ActiveEntityFilter.java b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/utils/ActiveEntityFilter.java
index 737c637..0b0d4d6 100644
--- a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/utils/ActiveEntityFilter.java
+++ b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/utils/ActiveEntityFilter.java
@@ -18,11 +18,13 @@
 package org.apache.atlas.hive.hook.utils;
 
 import com.google.common.annotations.VisibleForTesting;
+import org.apache.atlas.hive.hook.HiveHook;
 import org.apache.atlas.model.notification.HookNotification;
 import org.apache.commons.configuration.Configuration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.Arrays;
 import java.util.List;
 
 import static org.apache.atlas.hive.hook.HiveHook.HOOK_HIVE_IGNORE_DDL_OPERATIONS;
@@ -34,16 +36,32 @@
 
     public static void init(Configuration configuration) {
         boolean skipDdlOperations = configuration.getBoolean(HOOK_HIVE_IGNORE_DDL_OPERATIONS, false);
-        init(skipDdlOperations);
+        List<String> additionalTypesToRetain = getConfiguredTypesToRetainForDDLEntityFilter(configuration);
+
+        init(skipDdlOperations, additionalTypesToRetain);
         LOG.info("atlas.hook.hive.ignore.ddl.operations={} - {}", skipDdlOperations, entityFilter.getClass().getSimpleName());
     }
 
     @VisibleForTesting
-    static void init(boolean lineageOnlyFilter) {
-        entityFilter = lineageOnlyFilter ? new HiveDDLEntityFilter() : new PassthroughFilter();
+    static void init(boolean lineageOnlyFilter, List<String> additionalTypesToRetain) {
+        entityFilter = lineageOnlyFilter ? new HiveDDLEntityFilter(additionalTypesToRetain) : new PassthroughFilter();
     }
 
     public static List<HookNotification> apply(List<HookNotification> incoming) {
         return entityFilter.apply(incoming);
     }
+
+    private static List<String> getConfiguredTypesToRetainForDDLEntityFilter(Configuration configuration) {
+        try {
+            if (configuration.containsKey(HiveHook.HOOK_HIVE_FILTER_ENTITY_ADDITIONAL_TYPES_TO_RETAIN)) {
+                String[] configuredTypes = configuration.getStringArray(HiveHook.HOOK_HIVE_FILTER_ENTITY_ADDITIONAL_TYPES_TO_RETAIN);
+
+                return Arrays.asList(configuredTypes);
+            }
+        } catch (Exception e) {
+            LOG.error("Failed to load application properties", e);
+        }
+
+        return null;
+    }
 }
diff --git a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/utils/HiveDDLEntityFilter.java b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/utils/HiveDDLEntityFilter.java
index 9163c47..3ce3942 100644
--- a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/utils/HiveDDLEntityFilter.java
+++ b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/utils/HiveDDLEntityFilter.java
@@ -18,8 +18,6 @@
 package org.apache.atlas.hive.hook.utils;
 
 import com.google.common.annotations.VisibleForTesting;
-import org.apache.atlas.ApplicationProperties;
-import org.apache.atlas.hive.hook.HiveHook;
 import org.apache.atlas.hive.hook.events.BaseHiveEvent;
 import org.apache.atlas.model.instance.AtlasEntity;
 import org.apache.atlas.model.instance.AtlasObjectId;
@@ -43,7 +41,7 @@
 public class HiveDDLEntityFilter implements EntityFilter {
     private static final Logger LOG = LoggerFactory.getLogger(HiveDDLEntityFilter.class);
 
-    private static final Set<String> defaultPathTypes = new HashSet<String>() {{
+    private static final Set<String> defaultPathTypesToRetain = new HashSet<String>() {{
         add(AtlasPathExtractorUtil.HDFS_TYPE_PATH);
         add(AtlasPathExtractorUtil.ADLS_GEN2_DIRECTORY);
         add(AtlasPathExtractorUtil.GCS_VIRTUAL_DIR);
@@ -57,20 +55,16 @@
         add(BaseHiveEvent.HIVE_TYPE_COLUMN_LINEAGE);
         add(BaseHiveEvent.HIVE_DB_DDL);
         add(BaseHiveEvent.HIVE_TABLE_DDL);
-        addAll(defaultPathTypes);
-        addAll(getConfiguredTypesToRetain());
+        addAll(defaultPathTypesToRetain);
     }};
 
-    private static List<String> getConfiguredTypesToRetain() {
-        String[]        configuredTypesToRetain = null;
-
-        try {
-            configuredTypesToRetain = ApplicationProperties.get().getStringArray(HiveHook.HOOK_HIVE_FILTER_ENTITY_TYPES_TO_RETAIN);
-        } catch (Exception e) {
-            LOG.error("Failed to load application properties", e);
+    public HiveDDLEntityFilter(List<String> additionalTypesToRetain) {
+        if (CollectionUtils.isEmpty(additionalTypesToRetain)) {
+            return;
         }
 
-        return configuredTypesToRetain != null ? Arrays.asList(configuredTypesToRetain) : new ArrayList<>();
+        typesToRetain.addAll(additionalTypesToRetain);
+        LOG.info("Types retained: {}", typesToRetain.toArray());
     }
 
     public List<HookNotification> apply(List<HookNotification> incoming) {
@@ -197,7 +191,7 @@
             AtlasObjectId oid      = (AtlasObjectId) o;
             String        typeName = oid.getTypeName();
 
-            if (oid.getUniqueAttributes() != null && !defaultPathTypes.contains(typeName)) {
+            if (oid.getUniqueAttributes() != null && !typesToRetain.contains(typeName)) {
                 oid.setGuid(null);
             }
         } else {
@@ -208,8 +202,8 @@
 
             String typeName = hm.containsKey(AtlasObjectId.KEY_TYPENAME) ? (String) hm.get(AtlasObjectId.KEY_TYPENAME) : null;
 
-            if (hm.containsKey(BaseHiveEvent.ATTRIBUTE_UNIQUE_ATTRIBUTES) && !defaultPathTypes.contains(typeName)) {
-                hm.put(BaseHiveEvent.ATTRIBUTE_GUID, null);
+            if (hm.containsKey(BaseHiveEvent.ATTRIBUTE_UNIQUE_ATTRIBUTES) && !typesToRetain.contains(typeName)) {
+                hm.remove(BaseHiveEvent.ATTRIBUTE_GUID);
             }
         }
     }
diff --git a/addons/hive-bridge/src/test/java/org/apache/atlas/hive/hook/utils/ActiveEntityFilterTest.java b/addons/hive-bridge/src/test/java/org/apache/atlas/hive/hook/utils/ActiveEntityFilterTest.java
index 4dde1dc..a201214 100644
--- a/addons/hive-bridge/src/test/java/org/apache/atlas/hive/hook/utils/ActiveEntityFilterTest.java
+++ b/addons/hive-bridge/src/test/java/org/apache/atlas/hive/hook/utils/ActiveEntityFilterTest.java
@@ -21,13 +21,13 @@
 import org.apache.atlas.model.notification.HookNotification;
 import org.apache.atlas.type.AtlasType;
 import org.apache.atlas.utils.TestResourceFileUtils;
-import org.apache.commons.collections.MapUtils;
 import org.testng.Assert;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -35,16 +35,17 @@
 import java.util.Set;
 
 import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotEquals;
 import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertTrue;
+import static org.testng.Assert.fail;
 
 public class ActiveEntityFilterTest {
-    private static String FILE_SUFFIX = "-v2";
+    private static String FILE_SUFFIX_ACTUAL_RESULTS = "-v2";
+    private static String ADDITIONAL_TYPE_HDFS_PATH  = "hdfs_path";
 
     @BeforeClass
     public void setup() {
-        ActiveEntityFilter.init(true);
+        ActiveEntityFilter.init(true, Arrays.asList(new String[]{ADDITIONAL_TYPE_HDFS_PATH}));
     }
 
     @Test
@@ -56,14 +57,12 @@
         assertMessageFromFile("hs2-alter-view");
         assertMessageFromFile("hs2-drop-table");
         assertAtlasEntitiesWithExtInfoFromFile("hs2-create-process");
-        assertAtlasEntitiesWithExtInfoFromFile("hs2-load-inpath");
-        assertAtlasEntitiesWithExtInfoFromFile("hs2-create-db-with-no-pathentities-to-retain", false);
-        assertAtlasEntitiesWithExtInfoFromFile("hs2-load-inpath-with-no-pathentities-to-retain", false);
+        assertMessageFromFile("hs2-load-inpath");
     }
 
     private void assertMessageFromFile(String msgFile) throws IOException {
         List incoming = loadList(msgFile);
-        List expected = loadList(msgFile + FILE_SUFFIX);
+        List expected = loadList(msgFile + FILE_SUFFIX_ACTUAL_RESULTS);
         int expectedSize = expected.size();
 
         List<HookNotification> actual = ActiveEntityFilter.apply((List<HookNotification>) incoming);
@@ -139,51 +138,30 @@
     }
 
     private void assertAtlasEntitiesWithExtInfoFromFile(String entityFile) throws IOException {
-        assertAtlasEntitiesWithExtInfoFromFile(entityFile, true);
-    }
-
-    private void assertAtlasEntitiesWithExtInfoFromFile(String entityFile, boolean retainPathEntities) throws IOException {
         AtlasEntity.AtlasEntitiesWithExtInfo incoming = TestResourceFileUtils.readObjectFromJson("", entityFile, AtlasEntity.AtlasEntitiesWithExtInfo.class);
-        AtlasEntity.AtlasEntitiesWithExtInfo expected = TestResourceFileUtils.readObjectFromJson("", entityFile + FILE_SUFFIX, AtlasEntity.AtlasEntitiesWithExtInfo.class);
+        AtlasEntity.AtlasEntitiesWithExtInfo expected = TestResourceFileUtils.readObjectFromJson("", entityFile + FILE_SUFFIX_ACTUAL_RESULTS, AtlasEntity.AtlasEntitiesWithExtInfo.class);
 
-        HiveDDLEntityFilter hiveLineageEntityFilter = new HiveDDLEntityFilter();
+        HiveDDLEntityFilter hiveLineageEntityFilter = new HiveDDLEntityFilter(null);
         AtlasEntity.AtlasEntitiesWithExtInfo actual = hiveLineageEntityFilter.apply(incoming);
-
-        if (retainPathEntities) {
-            assertAtlasEntitiesWithExtInfo(actual, expected);
-        } else {
-            assertAtlasEntitiesWithNoPathEntitiesToRetain(actual, expected);
-        }
+        assertAtlasEntitiesWithExtInfo(actual, expected);
     }
 
     private void assertAtlasEntitiesWithExtInfo(AtlasEntity.AtlasEntitiesWithExtInfo actual, AtlasEntity.AtlasEntitiesWithExtInfo expected) {
         assertNotNull(actual);
         assertNotNull(expected);
 
-        if (expected.getEntities() != null && actual.getEntities() != null) {
-            assertEquals(actual.getEntities().size(), expected.getEntities().size());
-            assertEntity(actual.getEntities(), expected.getEntities());
+        assertEquals(actual.getEntities().size(), expected.getEntities().size());
+        assertEntity(actual.getEntities(), expected.getEntities());
+
+        if (expected.getReferredEntities() == null && actual.getReferredEntities() != null) {
+            fail("expected.getReferredEntities() == null, but expected.getReferredEntities() != null");
         }
 
-        assertEquals(MapUtils.isEmpty(actual.getReferredEntities()), MapUtils.isEmpty(expected.getReferredEntities()));
         if (expected.getReferredEntities() != null && actual.getReferredEntities() != null) {
             assertEntity(actual.getReferredEntities(), expected.getReferredEntities());
         }
     }
 
-    private void assertAtlasEntitiesWithNoPathEntitiesToRetain(AtlasEntity.AtlasEntitiesWithExtInfo actual, AtlasEntity.AtlasEntitiesWithExtInfo expected) {
-        assertNotNull(actual);
-        assertNotNull(expected);
-
-        if (expected.getEntities() != null && actual.getEntities() != null) {
-            assertNotEquals(actual.getEntities().size(), expected.getEntities().size());
-        }
-
-        if (expected.getReferredEntities() != null && actual.getReferredEntities() != null) {
-            assertNotEquals(actual.getReferredEntities().size(), expected.getReferredEntities().size());
-        }
-    }
-
     private void assertEntity(Map<String, AtlasEntity> actual, Map<String, AtlasEntity> expected) {
         assertEquals(actual.size(), expected.size());
     }
@@ -225,7 +203,7 @@
                 String actualJson = AtlasType.toJson(actualEntity);
                 String expectedJson = AtlasType.toJson(expectedEntity);
 
-                assertEquals(AtlasType.fromJson(actualJson, LinkedHashMap.class), AtlasType.fromJson(expectedJson, LinkedHashMap.class));
+                Assert.assertEquals(actualJson, expectedJson, "Actual: " + actualJson);
             }
         }
     }
diff --git a/addons/hive-bridge/src/test/resources/json/hs2-create-db-v2.json b/addons/hive-bridge/src/test/resources/json/hs2-create-db-v2.json
index 881ee10..28d3b6b 100644
--- a/addons/hive-bridge/src/test/resources/json/hs2-create-db-v2.json
+++ b/addons/hive-bridge/src/test/resources/json/hs2-create-db-v2.json
@@ -11,7 +11,7 @@
         "name": "create database cadb02",
         "userName": "hive"
       },
-      "guid": "-14530890092409411",
+      "guid": "-14529329955589449",
       "isIncomplete": false,
       "provenanceType": 0,
       "version": 0,
@@ -40,7 +40,6 @@
       "version": 0,
       "relationshipAttributes": {
         "hiveDb": {
-          "guid": "-14529329955589448",
           "typeName": "hive_db",
           "uniqueAttributes": {
             "qualifiedName": "cadb02@cm"
diff --git a/addons/hive-bridge/src/test/resources/json/hs2-create-db-with-no-pathentities-to-retain-v2.json b/addons/hive-bridge/src/test/resources/json/hs2-create-db-with-no-pathentities-to-retain-v2.json
deleted file mode 100644
index 42553b5..0000000
--- a/addons/hive-bridge/src/test/resources/json/hs2-create-db-with-no-pathentities-to-retain-v2.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-  "referredEntities": {},
-  "entities": [
-    {
-      "typeName": "hive_db_ddl",
-      "attributes": {
-        "serviceType": "hive",
-        "qualifiedName": "cadb02@cm:1616450673617",
-        "execTime": 1616450673617,
-        "queryText": "create database cadb02",
-        "name": "create database cadb02",
-        "userName": "hive"
-      },
-      "guid": "-14530890092409411",
-      "isIncomplete": false,
-      "provenanceType": 0,
-      "version": 0,
-      "relationshipAttributes": {
-        "db": {
-          "typeName": "hive_db",
-          "uniqueAttributes": {
-            "qualifiedName": "cadb02@cm"
-          },
-          "relationshipType": "hive_db_ddl_queries"
-        }
-      },
-      "proxy": false
-    }
-  ]
-}
diff --git a/addons/hive-bridge/src/test/resources/json/hs2-create-db-with-no-pathentities-to-retain.json b/addons/hive-bridge/src/test/resources/json/hs2-create-db-with-no-pathentities-to-retain.json
deleted file mode 100644
index a5b810f..0000000
--- a/addons/hive-bridge/src/test/resources/json/hs2-create-db-with-no-pathentities-to-retain.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
-  "referredEntities": {},
-  "entities": [
-    {
-      "typeName": "hive_db",
-      "attributes": {
-        "owner": "hive",
-        "ownerType": "USER",
-        "managedLocation": null,
-        "qualifiedName": "cadb02@cm",
-        "clusterName": "cm",
-        "name": "cadb02",
-        "location": "hdfs://ve0126.halxg.cloudera.com:8020/warehouse/tablespace/external/hive/cadb02.db",
-        "parameters": {}
-      },
-      "guid": "-14529329955589448",
-      "isIncomplete": false,
-      "provenanceType": 0,
-      "version": 0,
-      "proxy": false
-    },
-    {
-      "typeName": "hive_db_ddl",
-      "attributes": {
-        "serviceType": "hive",
-        "qualifiedName": "cadb02@cm:1616450673617",
-        "execTime": 1616450673617,
-        "queryText": "create database cadb02",
-        "name": "create database cadb02",
-        "userName": "hive"
-      },
-      "guid": "-14529329955589449",
-      "isIncomplete": false,
-      "provenanceType": 0,
-      "version": 0,
-      "relationshipAttributes": {
-        "db": {
-          "guid": "-14529329955589448",
-          "typeName": "hive_db",
-          "uniqueAttributes": {
-            "qualifiedName": "cadb02@cm"
-          },
-          "relationshipType": "hive_db_ddl_queries"
-        }
-      },
-      "proxy": false
-    },
-    {
-      "typeName": "hdfs_path",
-      "attributes": {
-        "path": "hdfs://ve0126.halxg.cloudera.com:8020/warehouse/tablespace/external/hive/cadb02.db",
-        "qualifiedName": "hdfs://ve0126.halxg.cloudera.com:8020/warehouse/tablespace/external/hive/cadb02.db@cm",
-        "clusterName": "cm",
-        "name": "/warehouse/tablespace/external/hive/cadb02.db"
-      },
-      "guid": "-14529329955589450",
-      "isIncomplete": false,
-      "provenanceType": 0,
-      "version": 0,
-      "relationshipAttributes": {
-        "hiveDb": {
-          "guid": "-14529329955589448",
-          "typeName": "hive_db",
-          "uniqueAttributes": {
-            "qualifiedName": "cadb02@cm"
-          },
-          "relationshipType": "hive_db_location"
-        }
-      },
-      "proxy": false
-    }
-  ]
-}
diff --git a/addons/hive-bridge/src/test/resources/json/hs2-create-process-v2.json b/addons/hive-bridge/src/test/resources/json/hs2-create-process-v2.json
index 8e55b72..9291cde 100644
--- a/addons/hive-bridge/src/test/resources/json/hs2-create-process-v2.json
+++ b/addons/hive-bridge/src/test/resources/json/hs2-create-process-v2.json
@@ -17,7 +17,6 @@
       "version": 0,
       "relationshipAttributes": {
         "table": {
-          "guid": "-44808597128610",
           "typeName": "hive_table",
           "uniqueAttributes": {
             "qualifiedName": "cadb202.vw202@primary"
@@ -51,7 +50,6 @@
       "relationshipAttributes": {
         "outputs": [
           {
-            "guid": "-44808597128610",
             "typeName": "hive_table",
             "uniqueAttributes": {
               "qualifiedName": "cadb202.vw202@primary"
@@ -112,7 +110,6 @@
       "relationshipAttributes": {
         "outputs": [
           {
-            "guid": "-44808597128612",
             "typeName": "hive_column",
             "uniqueAttributes": {
               "qualifiedName": "cadb202.vw202.col202@primary"
diff --git a/addons/hive-bridge/src/test/resources/json/hs2-create-table-v2.json b/addons/hive-bridge/src/test/resources/json/hs2-create-table-v2.json
index 801918e..ebf9e51 100644
--- a/addons/hive-bridge/src/test/resources/json/hs2-create-table-v2.json
+++ b/addons/hive-bridge/src/test/resources/json/hs2-create-table-v2.json
@@ -40,7 +40,6 @@
       "relationshipAttributes": {
         "outputs": [
           {
-            "guid": "-14529329955589452",
             "typeName": "hive_table",
             "uniqueAttributes": {
               "qualifiedName": "cadb02.hh6@cm"
@@ -103,7 +102,6 @@
       "version": 0,
       "relationshipAttributes": {
         "table": {
-          "guid": "-14529329955589452",
           "typeName": "hive_table",
           "uniqueAttributes": {
             "qualifiedName": "cadb02.hh6@cm"
diff --git a/addons/hive-bridge/src/test/resources/json/hs2-load-inpath-v2.json b/addons/hive-bridge/src/test/resources/json/hs2-load-inpath-v2.json
index dd31aa0..499a9c2 100644
--- a/addons/hive-bridge/src/test/resources/json/hs2-load-inpath-v2.json
+++ b/addons/hive-bridge/src/test/resources/json/hs2-load-inpath-v2.json
@@ -1,18 +1,96 @@
-{
-  "referredEntities": {
-    "-14529329955589455": {
-      "typeName": "hdfs_path",
-      "attributes": {
-        "path": "hdfs://ve0126.halxg.cloudera.com:8020/tmp/external/hh6.csv",
-        "qualifiedName": "hdfs://ve0126.halxg.cloudera.com:8020/tmp/external/hh6.csv@cm",
-        "clusterName": "cm",
-        "name": "/tmp/external/hh6.csv"
+[
+  {
+    "type": "ENTITY_CREATE_V2",
+    "user": "hive",
+    "entities": {
+      "referredEntities": {
+        "-98504074851374": {
+          "typeName": "hdfs_path",
+          "attributes": {
+            "path": "file:/Users/hive/Apache/atlas-wip/addons/hive-bridge/target/load-data-thi5jt1lgj",
+            "qualifiedName": "file:/users/hive/apache/atlas-wip/addons/hive-bridge/target/load-data-thi5jt1lgj",
+            "clusterName": "primary",
+            "name": "/Users/hive/Apache/atlas-wip/addons/hive-bridge/target/load-data-thi5jt1lgj"
+          },
+          "guid": "-98504074851374",
+          "isIncomplete": false,
+          "provenanceType": 0,
+          "version": 0,
+          "proxy": false
+        }
       },
-      "guid": "-14529329955589455",
-      "isIncomplete": false,
-      "provenanceType": 0,
-      "version": 0,
-      "proxy": false
+      "entities": [
+        {
+          "typeName": "hive_process",
+          "attributes": {
+            "recentQueries": [
+              "load data local inpath 'file:///users/hive/apache/atlas-wip/addons/hive-bridge/target/load-data-thi5jt1lgj' into table table_nrx8uoggc0 partition(dt = '2015-01-01')"
+            ],
+            "qualifiedName": "LOAD->:default.table_nrx8uoggc0@primary:1622738598000",
+            "clusterName": "primary",
+            "name": "LOAD->:default.table_nrx8uoggc0@primary:1622738598000",
+            "queryText": "",
+            "operationType": "LOAD",
+            "startTime": 1622738659471,
+            "queryPlan": "Not Supported",
+            "endTime": 1622738659471,
+            "userName": "",
+            "queryId": ""
+          },
+          "guid": "-98504074851381",
+          "isIncomplete": false,
+          "provenanceType": 0,
+          "version": 0,
+          "relationshipAttributes": {
+            "outputs": [
+              {
+                "typeName": "hive_table",
+                "uniqueAttributes": {
+                  "qualifiedName": "default.table_nrx8uoggc0@primary"
+                },
+                "relationshipType": "process_dataset_outputs"
+              }
+            ],
+            "inputs": [
+              {
+                "guid": "-98504074851374",
+                "typeName": "hdfs_path",
+                "uniqueAttributes": {
+                  "qualifiedName": "file:/users/hive/apache/atlas-wip/addons/hive-bridge/target/load-data-thi5jt1lgj"
+                },
+                "relationshipType": "dataset_process_inputs"
+              }
+            ]
+          },
+          "proxy": false
+        },
+        {
+          "typeName": "hive_process_execution",
+          "attributes": {
+            "hostName": "21806.local",
+            "qualifiedName": "LOAD->:default.table_nrx8uoggc0@primary:1622738598000:1622738658982:1622738659471",
+            "name": "LOAD->:default.table_nrx8uoggc0@primary:1622738598000:1622738658982:1622738659471",
+            "queryText": "load data local inpath 'file:///users/hive/apache/atlas-wip/addons/hive-bridge/target/load-data-thi5jt1lgj' into table table_nrx8uoggc0 partition(dt = '2015-01-01')",
+            "startTime": 1622738658982,
+            "queryPlan": "Not Supported",
+            "endTime": 1622738659471,
+            "userName": "hive",
+            "queryId": "hive_20210603094308_ef789483-7de1-462b-ac74-bb0ebe7aeedf"
+          },
+          "guid": "-98504074851382",
+          "isIncomplete": false,
+          "provenanceType": 0,
+          "version": 0,
+          "relationshipAttributes": {
+            "process": {
+              "guid": "-98504074851381",
+              "typeName": "hive_process",
+              "relationshipType": "hive_process_process_executions"
+            }
+          },
+          "proxy": false
+        }
+      ]
     }
   }
-}
\ No newline at end of file
+]
\ No newline at end of file
diff --git a/addons/hive-bridge/src/test/resources/json/hs2-load-inpath-with-no-pathentities-to-retain-v2.json b/addons/hive-bridge/src/test/resources/json/hs2-load-inpath-with-no-pathentities-to-retain-v2.json
deleted file mode 100644
index 7f90d19..0000000
--- a/addons/hive-bridge/src/test/resources/json/hs2-load-inpath-with-no-pathentities-to-retain-v2.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "referredEntities": {
-  }
-}
\ No newline at end of file
diff --git a/addons/hive-bridge/src/test/resources/json/hs2-load-inpath-with-no-pathentities-to-retain.json b/addons/hive-bridge/src/test/resources/json/hs2-load-inpath-with-no-pathentities-to-retain.json
deleted file mode 100644
index dd31aa0..0000000
--- a/addons/hive-bridge/src/test/resources/json/hs2-load-inpath-with-no-pathentities-to-retain.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-  "referredEntities": {
-    "-14529329955589455": {
-      "typeName": "hdfs_path",
-      "attributes": {
-        "path": "hdfs://ve0126.halxg.cloudera.com:8020/tmp/external/hh6.csv",
-        "qualifiedName": "hdfs://ve0126.halxg.cloudera.com:8020/tmp/external/hh6.csv@cm",
-        "clusterName": "cm",
-        "name": "/tmp/external/hh6.csv"
-      },
-      "guid": "-14529329955589455",
-      "isIncomplete": false,
-      "provenanceType": 0,
-      "version": 0,
-      "proxy": false
-    }
-  }
-}
\ No newline at end of file
diff --git a/addons/hive-bridge/src/test/resources/json/hs2-load-inpath.json b/addons/hive-bridge/src/test/resources/json/hs2-load-inpath.json
index dd31aa0..499a9c2 100644
--- a/addons/hive-bridge/src/test/resources/json/hs2-load-inpath.json
+++ b/addons/hive-bridge/src/test/resources/json/hs2-load-inpath.json
@@ -1,18 +1,96 @@
-{
-  "referredEntities": {
-    "-14529329955589455": {
-      "typeName": "hdfs_path",
-      "attributes": {
-        "path": "hdfs://ve0126.halxg.cloudera.com:8020/tmp/external/hh6.csv",
-        "qualifiedName": "hdfs://ve0126.halxg.cloudera.com:8020/tmp/external/hh6.csv@cm",
-        "clusterName": "cm",
-        "name": "/tmp/external/hh6.csv"
+[
+  {
+    "type": "ENTITY_CREATE_V2",
+    "user": "hive",
+    "entities": {
+      "referredEntities": {
+        "-98504074851374": {
+          "typeName": "hdfs_path",
+          "attributes": {
+            "path": "file:/Users/hive/Apache/atlas-wip/addons/hive-bridge/target/load-data-thi5jt1lgj",
+            "qualifiedName": "file:/users/hive/apache/atlas-wip/addons/hive-bridge/target/load-data-thi5jt1lgj",
+            "clusterName": "primary",
+            "name": "/Users/hive/Apache/atlas-wip/addons/hive-bridge/target/load-data-thi5jt1lgj"
+          },
+          "guid": "-98504074851374",
+          "isIncomplete": false,
+          "provenanceType": 0,
+          "version": 0,
+          "proxy": false
+        }
       },
-      "guid": "-14529329955589455",
-      "isIncomplete": false,
-      "provenanceType": 0,
-      "version": 0,
-      "proxy": false
+      "entities": [
+        {
+          "typeName": "hive_process",
+          "attributes": {
+            "recentQueries": [
+              "load data local inpath 'file:///users/hive/apache/atlas-wip/addons/hive-bridge/target/load-data-thi5jt1lgj' into table table_nrx8uoggc0 partition(dt = '2015-01-01')"
+            ],
+            "qualifiedName": "LOAD->:default.table_nrx8uoggc0@primary:1622738598000",
+            "clusterName": "primary",
+            "name": "LOAD->:default.table_nrx8uoggc0@primary:1622738598000",
+            "queryText": "",
+            "operationType": "LOAD",
+            "startTime": 1622738659471,
+            "queryPlan": "Not Supported",
+            "endTime": 1622738659471,
+            "userName": "",
+            "queryId": ""
+          },
+          "guid": "-98504074851381",
+          "isIncomplete": false,
+          "provenanceType": 0,
+          "version": 0,
+          "relationshipAttributes": {
+            "outputs": [
+              {
+                "typeName": "hive_table",
+                "uniqueAttributes": {
+                  "qualifiedName": "default.table_nrx8uoggc0@primary"
+                },
+                "relationshipType": "process_dataset_outputs"
+              }
+            ],
+            "inputs": [
+              {
+                "guid": "-98504074851374",
+                "typeName": "hdfs_path",
+                "uniqueAttributes": {
+                  "qualifiedName": "file:/users/hive/apache/atlas-wip/addons/hive-bridge/target/load-data-thi5jt1lgj"
+                },
+                "relationshipType": "dataset_process_inputs"
+              }
+            ]
+          },
+          "proxy": false
+        },
+        {
+          "typeName": "hive_process_execution",
+          "attributes": {
+            "hostName": "21806.local",
+            "qualifiedName": "LOAD->:default.table_nrx8uoggc0@primary:1622738598000:1622738658982:1622738659471",
+            "name": "LOAD->:default.table_nrx8uoggc0@primary:1622738598000:1622738658982:1622738659471",
+            "queryText": "load data local inpath 'file:///users/hive/apache/atlas-wip/addons/hive-bridge/target/load-data-thi5jt1lgj' into table table_nrx8uoggc0 partition(dt = '2015-01-01')",
+            "startTime": 1622738658982,
+            "queryPlan": "Not Supported",
+            "endTime": 1622738659471,
+            "userName": "hive",
+            "queryId": "hive_20210603094308_ef789483-7de1-462b-ac74-bb0ebe7aeedf"
+          },
+          "guid": "-98504074851382",
+          "isIncomplete": false,
+          "provenanceType": 0,
+          "version": 0,
+          "relationshipAttributes": {
+            "process": {
+              "guid": "-98504074851381",
+              "typeName": "hive_process",
+              "relationshipType": "hive_process_process_executions"
+            }
+          },
+          "proxy": false
+        }
+      ]
     }
   }
-}
\ No newline at end of file
+]
\ No newline at end of file
diff --git a/addons/hive-bridge/src/test/resources/json/hs2-table-rename-v2.json b/addons/hive-bridge/src/test/resources/json/hs2-table-rename-v2.json
index f2b2bf7..f133e7f 100644
--- a/addons/hive-bridge/src/test/resources/json/hs2-table-rename-v2.json
+++ b/addons/hive-bridge/src/test/resources/json/hs2-table-rename-v2.json
@@ -8,13 +8,13 @@
           "typeName": "hive_table_ddl",
           "attributes": {
             "serviceType": "hive",
-            "qualifiedName": "cadb02.hh6_renamed@cm:1616452234545",
-            "execTime": 1616452234545,
+            "qualifiedName": "cadb02.hh6_renamed@cm:1616450674247",
+            "execTime": 1616450674247,
             "queryText": "ALTER TABLE hh6 RENAME TO hh6_renamed",
             "name": "ALTER TABLE hh6 RENAME TO hh6_renamed",
             "userName": "hive"
           },
-          "guid": "-14530890092409428",
+          "guid": "-14529329955589467",
           "isIncomplete": false,
           "provenanceType": 0,
           "version": 0,
