hi,all:
I want to change LineageLogger code to output more log info .
The hive version I am using is 2.3.6 I create a new mvn project and cp 
LineageLogger code to my own class named MyLineage. Then I add my code to 
output more log info ,last I build a new jar. but when I config it to 
<hive.exec.post.hooks> ,the log file didn't contain any edges info : 
"edges":[],"vertices":[] .This is the result:

lineage.MyLineage: 
{"version":"1.0","user":”man","timestamp":1593499925,"duration":9707,"jobIds":["job_1586773491164_0151"],"engine":"mr","database":"temp","hash":"c7722f236ce2fc5197ce71f7da4922dc","queryText":"insert
 into tmp_test_c select * from tmp_test_b","edges":[],"vertices":[]}

I've tried to use hive's own LineageLogger with the same sql , and all is 
ok.This is the result:

hooks.LineageLogger: 
{"version":"1.0","user":"maintain","timestamp":1593501887,"duration":9923,"jobIds":["job_1586773491164_0152"],"engine":"mr","database":"temp","hash":"c7722f236ce2fc5197ce71f7da4922dc","queryText":"insert
 into tmp_test_c select * from 
tmp_test_b","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"temp.tmp_test_c.s1"},{"id":1,"vertexType":"COLUMN","vertexId":"temp.tmp_test_c.s2"},{"id":2,"vertexType":"COLUMN","vertexId":"temp.tmp_test_b.s1"},{"id":3,"vertexType":"COLUMN","vertexId":"temp.tmp_test_b.s2"}]}

I note that ,if I only config MyLineageLogger , LinkedHashMap<String, 
ObjectPair<SelectOperator,org.apache.hadoop.hive.ql.metadata.Table>> 
finalSelOps = index.getFinalSelectOps();
will return 0

can anybody give me some clue , why this happen and what should I do ? thanks...

Reply via email to