{"id":2963,"date":"2021-03-08T01:59:31","date_gmt":"2021-03-08T09:59:31","guid":{"rendered":"https:\/\/www.gudusoft.com\/?page_id=2963"},"modified":"2024-01-28T19:17:37","modified_gmt":"2024-01-29T03:17:37","slug":"python-data-lineage","status":"publish","type":"page","link":"https:\/\/www.gudusoft.com\/pt\/python-dados-linhagem\/","title":{"rendered":"Descobrir a linhagem de dados nunca foi t\u00e3o f\u00e1cil"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"background-color: rgba(255,255,255,0);background-position: center center;background-repeat: no-repeat;border-width: 0px 0px 0px 0px;border-color:#e8eaf0;border-style:solid;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start\" style=\"max-width:1310.4px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\" style=\"background-position:left top;background-repeat:no-repeat;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover;padding: 0px 0px 0px 0px;\"><div class=\"fusion-text fusion-text-1\" style=\"line-height:26px;\"><h3>Linhagem de dados Python (vers\u00e3o Gudu SQLFlow Lite para python)<\/h3>\n<p>O pacote de linhagem de dados Python (tamb\u00e9m conhecido como vers\u00e3o Gudu SQLFlow Lite para Python) \u00e9 um conjunto de ferramentas usado para analisar instru\u00e7\u00f5es SQL e procedimentos armazenados de v\u00e1rios bancos de dados para obter dados complexos. <a href=\"https:\/\/en.wikipedia.org\/wiki\/Data_lineage\">linhagem de dados<\/a>\u00a0 relacionamentos e visualiz\u00e1-los.<\/p>\n<p><a href=\"https:\/\/github.com\/sqlparser\/python_data_lineage\" rel=\"nofollow\">Vers\u00e3o Gudu SQLFlow Lite para python<\/a> permite que desenvolvedores Python integrem rapidamente recursos de an\u00e1lise e visualiza\u00e7\u00e3o de linhagem de dados em seus pr\u00f3prios aplicativos Python. Ele tamb\u00e9m pode ser usado no trabalho di\u00e1rio por cientistas de dados para descobrir rapidamente a linhagem de dados de scripts SQL complexos que geralmente s\u00e3o usados em trabalhos ETL para fazer a transforma\u00e7\u00e3o de dados em uma plataforma de dados enorme.<\/p>\n<p>A vers\u00e3o Gudu SQLFlow Lite para python \u00e9 gratuita para uso n\u00e3o comercial e pode manipular quaisquer instru\u00e7\u00f5es SQL complexas com um comprimento de at\u00e9 10k, incluindo suporte para procedimentos armazenados. Ele suporta dialeto SQL de mais de 20 grandes fornecedores de banco de dados, como Oracle, DB2, Snowflake, Redshift, Postgres e assim por diante.<\/p>\n<p>A vers\u00e3o Gudu SQLFlow Lite para python inclui <a href=\"https:\/\/www.gudusoft.com\/pt\/sqlflow-java-biblioteca-2\/\">uma biblioteca Java<\/a> para analisar instru\u00e7\u00f5es SQL complexas e procedimentos armazenados para recuperar relacionamentos de linhagem de dados, <a href=\"https:\/\/github.com\/sqlparser\/python_data_lineage\/blob\/main\/dlineage.py\">um arquivo Python<\/a> que utiliza jpype para chamar as APIs na biblioteca Java e <a href=\"https:\/\/docs.gudusoft.com\/4.-sqlflow-widget\/get-started\">uma biblioteca JavaScript<\/a> para visualizar relacionamentos de linhagem de dados.<\/p>\n<p>A vers\u00e3o Gudu SQLFlow Lite para python tamb\u00e9m pode extrair automaticamente restri\u00e7\u00f5es de tabela e coluna, bem como relacionamentos entre tabelas e campos, de <a href=\"https:\/\/docs.gudusoft.com\/6.-sqlflow-ingester\/introduction\">Scripts DDL exportados do banco de dados <\/a>e gerar um Diagrama ER.<\/p>\n<\/div><style type=\"text\/css\">@media only screen and (max-width:1024px) {.fusion-title.fusion-title-1{margin-top:10px!important;margin-bottom:20px!important;}}<\/style><div class=\"fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-one\" style=\"margin-top:10px;margin-bottom:20px;\"><h1 class=\"title-heading-left\" style=\"margin:0;\"><h3>Visualizar automaticamente a linhagem de dados<\/h3><\/h1><\/div><div class=\"fusion-text fusion-text-2\"><div>Executando este comando:<\/div>\n<div><\/div>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-1 > .CodeMirror, .fusion-syntax-highlighter-1 > .CodeMirror .CodeMirror-gutters {background-color:#ffffff;}.fusion-syntax-highlighter-1 > .CodeMirror .CodeMirror-gutters { background-color: #ffffff; }.fusion-syntax-highlighter-1 > .CodeMirror .CodeMirror-linenumber { color: #e8eaf0; }<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-1 fusion-syntax-highlighter-theme-light\" style=\"opacity:0;margin-top:10px;margin-right:0px;margin-bottom:30px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:#e8eaf0;\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_1\" style=\"font-size:14px;\">Copiar para a \u00e1rea de transfer\u00eancia<\/span><\/div><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_1\" data-readonly=\"nocursor\" data-linenumbers=\"1\" data-linewrapping=\"\" data-theme=\"default\" data-mode=\"text\/x-sh\">python dlineage.py \/t oracle \/f test.sql \/graph<\/textarea><\/div><div class=\"fusion-text fusion-text-3\"><p>Podemos obter automaticamente os relacionamentos de linhagem de dados contidos na seguinte instru\u00e7\u00e3o Oracle SQL.<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-2 > .CodeMirror, .fusion-syntax-highlighter-2 > .CodeMirror .CodeMirror-gutters {background-color:#ffffff;}.fusion-syntax-highlighter-2 > .CodeMirror .CodeMirror-gutters { background-color: #ffffff; }.fusion-syntax-highlighter-2 > .CodeMirror .CodeMirror-linenumber { color: #e8eaf0; }<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-2 fusion-syntax-highlighter-theme-light\" style=\"opacity:0;margin-top:10px;margin-right:0px;margin-bottom:10px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:#e8eaf0;\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_2\" style=\"font-size:14px;\">Copiar para a \u00e1rea de transfer\u00eancia<\/span><\/div><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_2\" data-readonly=\"nocursor\" data-linenumbers=\"1\" data-linewrapping=\"\" data-theme=\"default\" data-mode=\"text\/sql\">CREATE VIEW vsal \nAS \n  SELECT a.deptno                  \"Department\", \n         a.num_emp \/ b.total_count \"Employees\", \n         a.sal_sum \/ b.total_sal   \"Salary\" \n  FROM   (SELECT deptno, \n                 Count()  num_emp, \n                 SUM(sal) sal_sum \n          FROM   scott.emp \n          WHERE  city = 'NYC' \n          GROUP  BY deptno) a, \n         (SELECT Count()  total_count, \n                 SUM(sal) total_sal \n          FROM   scott.emp \n          WHERE  city = 'NYC') b \n;\n\nINSERT ALL\n\tWHEN ottl < 100000 THEN\n\t\tINTO small_orders\n\t\t\tVALUES(oid, ottl, sid, cid)\n\tWHEN ottl > 100000 and ottl < 200000 THEN\n\t\tINTO medium_orders\n\t\t\tVALUES(oid, ottl, sid, cid)\n\tWHEN ottl > 200000 THEN\n\t\tinto large_orders\n\t\t\tVALUES(oid, ottl, sid, cid)\n\tWHEN ottl > 290000 THEN\n\t\tINTO special_orders\nSELECT o.order_id oid, o.customer_id cid, o.order_total ottl,\no.sales_rep_id sid, c.credit_limit cl, c.cust_email cem\nFROM orders o, customers c\nWHERE o.customer_id = c.customer_id;<\/textarea><\/div><div class=\"fusion-text fusion-text-4\"><p>E visualize-o como:<\/p>\n<\/div><div ><span class=\"fusion-imageframe imageframe-none imageframe-1 hover-type-none\"><a class=\"fusion-no-lightbox\" href=\"https:\/\/github.com\/sqlparser\/python_data_lineage\" target=\"_self\" aria-label=\"linhagem_de_dados_oracle\"><img decoding=\"async\" width=\"1024\" height=\"719\" alt=\"linhagem de dados python\" src=\"https:\/\/www.gudusoft.com\/wp-content\/uploads\/2024\/01\/oracle_data_lineage-1024x719.png\" class=\"img-responsive wp-image-6441\" srcset=\"https:\/\/www.gudusoft.com\/wp-content\/uploads\/2024\/01\/oracle_data_lineage-200x140.png 200w, https:\/\/www.gudusoft.com\/wp-content\/uploads\/2024\/01\/oracle_data_lineage-400x281.png 400w, https:\/\/www.gudusoft.com\/wp-content\/uploads\/2024\/01\/oracle_data_lineage-600x421.png 600w, https:\/\/www.gudusoft.com\/wp-content\/uploads\/2024\/01\/oracle_data_lineage-800x562.png 800w, https:\/\/www.gudusoft.com\/wp-content\/uploads\/2024\/01\/oracle_data_lineage-1200x842.png 1200w, https:\/\/www.gudusoft.com\/wp-content\/uploads\/2024\/01\/oracle_data_lineage.png 1225w\" sizes=\"(max-width: 1024px) 100vw, (max-width: 640px) 100vw, 1024px\" \/><\/a><\/span><\/div><style type=\"text\/css\">@media only screen and (max-width:1024px) {.fusion-title.fusion-title-2{margin-top:10px!important;margin-bottom:1px!important;}}<\/style><div class=\"fusion-title title fusion-title-2 fusion-sep-none fusion-title-text fusion-title-size-one\" style=\"margin-top:10px;margin-bottom:1px;\"><h1 class=\"title-heading-left\" style=\"margin:0;\"><h3>Recursos do pacote de linhagem de dados Python:<\/h3><\/h1><\/div><ul class=\"fusion-checklist fusion-checklist-1\" style=\"font-size:18px;line-height:30.6px;\"><li class=\"fusion-li-item\"><span style=\"height:30.6px;width:30.6px;margin-right:12.6px;\" class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon fa fa-check\" style=\"color:#ffffff;\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\" style=\"margin-left:43.2px;\">\n<p>Gere visualiza\u00e7\u00f5es interativas de linhagem de dados<\/p>\n<\/div><\/li><li class=\"fusion-li-item\"><span style=\"height:30.6px;width:30.6px;margin-right:12.6px;\" class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon fa fa-check\" style=\"color:#ffffff;\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\" style=\"margin-left:43.2px;\">\n<p>Crie linhagem de dados em JSON\/CSV\/GRAPHML<\/p>\n<\/div><\/li><li class=\"fusion-li-item\"><span style=\"height:30.6px;width:30.6px;margin-right:12.6px;\" class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon fa fa-check\" style=\"color:#ffffff;\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\" style=\"margin-left:43.2px;\">\n<p>Suporte SQL de mais de 20 grandes fornecedores de banco de dados<\/p>\n<\/div><\/li><\/ul><style type=\"text\/css\">@media only screen and (max-width:1024px) {.fusion-title.fusion-title-3{margin-top:10px!important;margin-bottom:30px!important;}}<\/style><div class=\"fusion-title title fusion-title-3 fusion-sep-none fusion-title-center fusion-title-text fusion-title-size-one\" style=\"margin-top:10px;margin-bottom:30px;\"><h1 class=\"title-heading-center\" style=\"margin:0;\"><h2 style=\"text-align: center;\">Como funciona a ferramenta de linhagem de dados Python<\/h2><\/h1><\/div><div style=\"text-align:center;\"><span class=\"fusion-imageframe imageframe-none imageframe-2 hover-type-none\"><a class=\"fusion-no-lightbox\" href=\"https:\/\/sqlflow.gudusoft.com\" target=\"_blank\" aria-label=\"vis\u00e3o geral da linhagem de dados python\" rel=\"noopener noreferrer\"><img decoding=\"async\" width=\"1024\" height=\"1140\" alt=\"linhagem de dados python\" src=\"https:\/\/www.gudusoft.com\/wp-content\/uploads\/2021\/03\/python-data-lineage-overview-e1615281779694.png\" class=\"img-responsive wp-image-2969\"\/><\/a><\/span><\/div><div class=\"fusion-separator fusion-full-width-sep\" style=\"align-self: center;margin-left: auto;margin-right: auto;margin-top:10px;margin-bottom:30px;width:100%;\"><\/div><div class=\"fusion-text fusion-text-5\"><p>Agora, todos os componentes acima est\u00e3o empacotados em um \u00fanico reposit\u00f3rio no GitHub e voc\u00ea os obt\u00e9m gratuitamente simplesmente clonando-os.<\/p>\n<\/div><style type=\"text\/css\" scopped=\"scopped\">.fusion-syntax-highlighter-3 > .CodeMirror, .fusion-syntax-highlighter-3 > .CodeMirror .CodeMirror-gutters {background-color:#ffffff;}.fusion-syntax-highlighter-3 > .CodeMirror .CodeMirror-gutters { background-color: #ffffff; }.fusion-syntax-highlighter-3 > .CodeMirror .CodeMirror-linenumber { color: #e8eaf0; }<\/style><div class=\"fusion-syntax-highlighter-container fusion-syntax-highlighter-3 fusion-syntax-highlighter-theme-light\" style=\"opacity:0;margin-top:0px;margin-right:0px;margin-bottom:20px;margin-left:0px;font-size:14px;border-width:1px;border-style:solid;border-color:#e8eaf0;\"><div class=\"syntax-highlighter-copy-code\"><span class=\"syntax-highlighter-copy-code-title\" data-id=\"fusion_syntax_highlighter_3\" style=\"font-size:14px;\">Copiar para a \u00e1rea de transfer\u00eancia<\/span><\/div><textarea class=\"fusion-syntax-highlighter-textarea\" id=\"fusion_syntax_highlighter_3\" data-readonly=\"nocursor\" data-linenumbers=\"1\" data-linewrapping=\"\" data-theme=\"default\" data-mode=\"text\/x-sh\">git clone https:\/\/github.com\/sqlparser\/python_data_lineage.git<\/textarea><\/div><div class=\"fusion-text fusion-text-6\"><p>\u2013 N\u00e3o \u00e9 necess\u00e1ria nenhuma conex\u00e3o com banco de dados.<br \/>\n\u2013 N\u00e3o \u00e9 necess\u00e1ria conex\u00e3o com a internet.<\/p>\n<p>Voc\u00ea s\u00f3 precisa de um JDK e um interpretador Python para executar este pacote de linhagem de dados Python localmente.<\/p>\n<\/div><div class=\"fusion-separator fusion-full-width-sep\" style=\"align-self: center;margin-left: auto;margin-right: auto;margin-top:10px;margin-bottom:20px;width:100%;\"><\/div><div style=\"text-align:center;\"><style type=\"text\/css\">.fusion-button.button-1 {border-radius:25px;}<\/style><a class=\"fusion-button button-flat fusion-button-default-size button-default button-1 fusion-button-default-span fusion-button-default-type\" target=\"_self\" href=\"https:\/\/github.com\/sqlparser\/python_data_lineage\"><span class=\"fusion-button-text\">V\u00e1 para o reposit\u00f3rio do github agora<\/span><\/a><\/div><\/div><\/div><style type=\"text\/css\">.fusion-body .fusion-builder-column-0{width:100% !important;margin-top : 0px;margin-bottom : 20px;}.fusion-builder-column-0 > .fusion-column-wrapper {padding-top : 0px !important;padding-right : 0px !important;margin-right : 1.92%;padding-bottom : 0px !important;padding-left : 0px !important;margin-left : 1.92%;}@media only screen and (max-width:1024px) {.fusion-body .fusion-builder-column-0{width:100% !important;order : 0;}.fusion-builder-column-0 > .fusion-column-wrapper {margin-right : 1.92%;margin-left : 1.92%;}}@media only screen and (max-width:640px) {.fusion-body .fusion-builder-column-0{width:100% !important;order : 0;}.fusion-builder-column-0 > .fusion-column-wrapper {margin-right : 1.92%;margin-left : 1.92%;}}<\/style><\/div><style type=\"text\/css\">.fusion-body .fusion-flex-container.fusion-builder-row-1{ padding-top : 0px;margin-top : 0px;padding-right : 0px;padding-bottom : 0px;margin-bottom : 0px;padding-left : 0px;}<\/style><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/pages\/2963"}],"collection":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/comments?post=2963"}],"version-history":[{"count":44,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/pages\/2963\/revisions"}],"predecessor-version":[{"id":6468,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/pages\/2963\/revisions\/6468"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/media?parent=2963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}