You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+59-7Lines changed: 59 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,21 +26,73 @@ $ pip install sqllineage
26
26
27
27
Using sqllineage command to parse a quoted-query-string:
28
28
```
29
-
$ sqllineage -e "insert into table1 select * from table2"
29
+
$ sqllineage -e "insert into db1.table1 select * from db2.table2"
30
30
Statements(#): 1
31
31
Source Tables:
32
-
table2
32
+
db2.table2
33
33
Target Tables:
34
-
table1
34
+
db1.table1
35
35
```
36
36
37
37
Or you can parse a SQL file with -f option:
38
38
```
39
-
$ sqllineage -f foo.sqlStatements(#): 1
39
+
$ sqllineage -f foo.sql
40
40
Statements(#): 1
41
41
Source Tables:
42
-
table_foo
43
-
table_bar
42
+
db1.table_foo
43
+
db1.table_bar
44
44
Target Tables:
45
-
table_baz
45
+
db2.table_baz
46
+
```
47
+
48
+
## Advanced Usage
49
+
50
+
Lineage result combined for multiple SQL statements, with intermediate tables identified:
51
+
```
52
+
$ sqllineage -e "insert into db1.table1 select * from db2.table2; insert into db3.table3 select * from db1.table1;"
53
+
Statements(#): 2
54
+
Source Tables:
55
+
db2.table2
56
+
Target Tables:
57
+
db3.table3
58
+
Intermediate Tables:
59
+
db1.table1
60
+
```
61
+
62
+
And if you want to see lineage result for every SQL statement, just toggle verbose option
63
+
```
64
+
$ sqllineage -v -e "insert into db1.table1 select * from db2.table2; insert into db3.table3 select * from db1.table1;"
65
+
Statement #1: insert into db1.table1 select * from db2.table2;
66
+
table read: {Table: db2.table2}
67
+
table write: {Table: db1.table1}
68
+
table rename: {}
69
+
table drop: {}
70
+
table intermediate: {}
71
+
Statement #2: insert into db3.table3 select * from db1.table1;
72
+
table read: {Table: db1.table1}
73
+
table write: {Table: db3.table3}
74
+
table rename: {}
75
+
table drop: {}
76
+
table intermediate: {}
77
+
==========
78
+
Summary:
79
+
Statements(#): 2
80
+
Source Tables:
81
+
db2.table2
82
+
Target Tables:
83
+
db3.table3
84
+
Intermediate Tables:
85
+
db1.table1
86
+
```
87
+
88
+
Or specify your own combiner to combine lineage result, here we use a naive combiner, which is just to union each table set without removing intermediate tables:
89
+
```
90
+
$ sqllineage -e "insert into db1.table1 select * from db2.table2; insert into db3.table3 select * from db1.table1;" -c sqllineage.combiners.NaiveLineageCombiner
0 commit comments