You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by ijokarumawak <gi...@git.apache.org> on 2017/04/17 16:54:33 UTC

[GitHub] nifi pull request #1676: NIFI-3709: NiFi flow lineage to Apache Atlas.

GitHub user ijokarumawak opened a pull request:

    https://github.com/apache/nifi/pull/1676

    NIFI-3709: NiFi flow lineage to Apache Atlas.

    Adding AtlasNiFiFlowLineage reporting task to create NiFi lineage in
    Atlas. See the additionalDetails.html for details.
    
    Thank you for submitting a contribution to Apache NiFi.
    
    In order to streamline the review of the contribution we ask you
    to ensure the following steps have been taken:
    
    ### For all changes:
    - [x] Is there a JIRA ticket associated with this PR? Is it referenced 
         in the commit message?
    
    - [x] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
    
    - [x] Has your PR been rebased against the latest commit within the target branch (typically master)?
    
    - [x] Is your initial contribution a single, squashed commit?
    
    ### For code changes:
    - [x] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
    - [x] Have you written or updated unit tests to verify your changes?
    - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? 
    - [ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
    - [ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
    - [x] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?
    
    ### For documentation related changes:
    - [x] Have you ensured that format looks appropriate for the output in which it is rendered?
    
    ### Note:
    Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/ijokarumawak/nifi nifi-3709

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/nifi/pull/1676.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1676
    
----
commit 70573ba42b282cc92fbbab5d631dd0ed21ab9a00
Author: Koji Kawamura <ij...@apache.org>
Date:   2017-03-27T23:01:02Z

    NIFI-3709: NiFi flow lineage to Apache Atlas.
    
    Adding AtlasNiFiFlowLineage reporting task to create NiFi lineage in
    Atlas. See the additionalDetails.html for details.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] nifi pull request #1676: NIFI-3709: NiFi flow lineage to Apache Atlas.

Posted by joewitt <gi...@git.apache.org>.
Github user joewitt commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/1676#discussion_r112369112
  
    --- Diff: nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-nar/src/main/resources/META-INF/NOTICE ---
    @@ -0,0 +1,26 @@
    +nifi-hbase-nar
    +Copyright 2014-2017 The Apache Software Foundation
    +
    +This product includes software developed at
    +The Apache Software Foundation (http://www.apache.org/).
    +
    +===========================================
    +Apache Software License v2
    +===========================================
    +
    +The following binary components are provided under the Apache Software License v2
    +
    +  (ASLv2) Apache Atlas
    +    The following NOTICE information applies:
    +      Apache Commons BeanUtils
    --- End diff --
    
    Copy and paste error.  Should say 'Apache Atlas'


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] nifi pull request #1676: NIFI-3709: NiFi flow lineage to Apache Atlas.

Posted by joewitt <gi...@git.apache.org>.
Github user joewitt commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/1676#discussion_r113095894
  
    --- Diff: nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-nar/src/main/resources/META-INF/NOTICE ---
    @@ -0,0 +1,188 @@
    +nifi-atlas-nar
    +Copyright 2014-2017 The Apache Software Foundation
    +
    +This product includes software developed at
    +The Apache Software Foundation (http://www.apache.org/).
    +
    +===========================================
    +Apache Software License v2
    +===========================================
    +
    +The following binary components are provided under the Apache Software License v2
    +
    +  (ASLv2) Apache Atlas (incubating)
    +    The following NOTICE information applies:
    +      Apache Atlas (incubating)
    +      
    +      Copyright [2015-2017] The Apache Software Foundation
    +      
    +      This product includes software developed at
    --- End diff --
    
    You can remove line 19 and 20.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] nifi issue #1676: NIFI-3709: NiFi flow lineage to Apache Atlas.

Posted by joewitt <gi...@git.apache.org>.
Github user joewitt commented on the issue:

    https://github.com/apache/nifi/pull/1676
  
    @ijokarumawak can you go ahead and squash these.  Thanks for getting it down to 13MB for the nar.  Much better!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] nifi issue #1676: NIFI-3709: NiFi flow lineage to Apache Atlas.

Posted by ijokarumawak <gi...@git.apache.org>.
Github user ijokarumawak commented on the issue:

    https://github.com/apache/nifi/pull/1676
  
    @joewitt Thanks for pointing that out. I will update NOTICE.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] nifi issue #1676: NIFI-3709: NiFi flow lineage to Apache Atlas.

Posted by joewitt <gi...@git.apache.org>.
Github user joewitt commented on the issue:

    https://github.com/apache/nifi/pull/1676
  
    @ijokarumawak so i see where this is heading and i get how it can help.  That said, given expression language and such things I'm concerned just how much real flow information can be gleaned at design time (like this is looking this in looking at the flow defn itself) versus runtime using the provenance data itself.  The current approach has some important limitations like the processors which can be supported have to explicitly referenced in code for now.  The runtime approach using provenance events obviously has scale concerns but perhaps that is more correct and warrants further review.  What do you think?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] nifi pull request #1676: NIFI-3709: NiFi flow lineage to Apache Atlas.

Posted by joewitt <gi...@git.apache.org>.
Github user joewitt commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/1676#discussion_r113096464
  
    --- Diff: nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/processors/EgressProcessors.java ---
    @@ -0,0 +1,35 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *     http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +package org.apache.nifi.atlas.processors;
    +
    +import java.util.HashMap;
    +import java.util.Map;
    +
    +public class EgressProcessors {
    +
    +    private static final Map<String, Egress> processors = new HashMap<>();
    +
    +    static {
    +        processors.put("org.apache.nifi.processors.hive.PutHiveStreaming", new PutHiveStreaming());
    --- End diff --
    
    So these Egress/Ingress processors are all that would be supported initially I take it?  It will be interesting to see how this works out and then perhaps we can have this done via an Annotation on processors that could be supported for egress/ingress.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] nifi issue #1676: NIFI-3709: NiFi flow lineage to Apache Atlas.

Posted by joewitt <gi...@git.apache.org>.
Github user joewitt commented on the issue:

    https://github.com/apache/nifi/pull/1676
  
    doesnt quite look like all L&N considerations for the nar have been addressed.  please update


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] nifi pull request #1676: NIFI-3709: NiFi flow lineage to Apache Atlas.

Posted by ijokarumawak <gi...@git.apache.org>.
Github user ijokarumawak closed the pull request at:

    https://github.com/apache/nifi/pull/1676


---

[GitHub] nifi issue #1676: NIFI-3709: NiFi flow lineage to Apache Atlas.

Posted by ijokarumawak <gi...@git.apache.org>.
Github user ijokarumawak commented on the issue:

    https://github.com/apache/nifi/pull/1676
  
    Reduced nar file size from 67MB to 14MB by removing hadoop-common and atlas type system. The classes needed in Atlas type system for Atlas client v2 was in atlas-intg and atlas-common. It works correctly so far. Please let me know anything found, thank you!


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] nifi issue #1676: NIFI-3709: NiFi flow lineage to Apache Atlas.

Posted by gjlawran <gi...@git.apache.org>.
Github user gjlawran commented on the issue:

    https://github.com/apache/nifi/pull/1676
  
    We are also looking for assistance with bridging metadata from NiFi into Apache Atlas - and we have posted a [paid opportunity ](https://github.com/bcgov/nifi-atlas/issues/1) those with an interest.  


---

[GitHub] nifi pull request #1676: NIFI-3709: NiFi flow lineage to Apache Atlas.

Posted by joewitt <gi...@git.apache.org>.
Github user joewitt commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/1676#discussion_r113096205
  
    --- Diff: nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/pom.xml ---
    @@ -0,0 +1,102 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!--
    +  Licensed to the Apache Software Foundation (ASF) under one or more
    +  contributor license agreements. See the NOTICE file distributed with
    +  this work for additional information regarding copyright ownership.
    +  The ASF licenses this file to You under the Apache License, Version 2.0
    +  (the "License"); you may not use this file except in compliance with
    +  the License. You may obtain a copy of the License at
    +  http://www.apache.org/licenses/LICENSE-2.0
    +  Unless required by applicable law or agreed to in writing, software
    +  distributed under the License is distributed on an "AS IS" BASIS,
    +  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +  See the License for the specific language governing permissions and
    +  limitations under the License.
    +-->
    +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    +    <modelVersion>4.0.0</modelVersion>
    +
    +    <parent>
    +        <groupId>org.apache.nifi</groupId>
    +        <artifactId>nifi-atlas-bundle</artifactId>
    +        <version>1.2.0-SNAPSHOT</version>
    +    </parent>
    +
    +    <artifactId>nifi-atlas-reporting-task</artifactId>
    +    <packaging>jar</packaging>
    +
    +    <dependencies>
    +        <dependency>
    +            <groupId>org.apache.nifi</groupId>
    +            <artifactId>nifi-api</artifactId>
    +        </dependency>
    +        <dependency>
    +            <groupId>org.apache.nifi</groupId>
    +            <artifactId>nifi-processor-utils</artifactId>
    +        </dependency>
    +        <dependency>
    +            <groupId>org.apache.nifi</groupId>
    +            <artifactId>nifi-ssl-context-service-api</artifactId>
    +        </dependency>
    +        <dependency>
    +            <groupId>org.apache.nifi</groupId>
    +            <artifactId>nifi-client-dto</artifactId>
    +        </dependency>
    +        <dependency>
    +            <groupId>org.apache.atlas</groupId>
    +            <artifactId>atlas-client</artifactId>
    +        </dependency>
    +        <dependency>
    +            <groupId>org.apache.atlas</groupId>
    +            <artifactId>atlas-intg</artifactId>
    +        </dependency>
    +        <dependency>
    +            <groupId>org.apache.atlas</groupId>
    +            <artifactId>atlas-common</artifactId>
    +        </dependency>
    +        <dependency>
    +            <groupId>org.codehaus.jettison</groupId>
    +            <artifactId>jettison</artifactId>
    +            <version>1.1</version>
    +            <exclusions>
    +                <exclusion>
    +                    <!-- jersey-json has dependency to newer javax.xml.stream:stax-api:jar -->
    +                    <groupId>stax</groupId>
    +                    <artifactId>stax-api</artifactId>
    +                </exclusion>
    +            </exclusions>
    +        </dependency>
    +        <dependency>
    +            <groupId>com.sun.jersey</groupId>
    +            <artifactId>jersey-json</artifactId>
    +        </dependency>
    +        <dependency>
    +            <groupId>org.codehaus.jackson</groupId>
    +            <artifactId>jackson-jaxrs</artifactId>
    +            <version>1.9.13</version>
    +        </dependency>
    +        <dependency>
    +            <groupId>org.codehaus.jackson</groupId>
    +            <artifactId>jackson-xc</artifactId>
    +            <version>1.9.13</version>
    +        </dependency>
    +
    +        <!-- test -->
    +        <dependency>
    +            <groupId>org.apache.nifi</groupId>
    +            <artifactId>nifi-mock</artifactId>
    +            <scope>test</scope>
    +        </dependency>
    +        <dependency>
    +            <groupId>org.slf4j</groupId>
    +            <artifactId>slf4j-simple</artifactId>
    +            <scope>test</scope>
    +        </dependency>
    +        <dependency>
    +            <groupId>junit</groupId>
    +            <artifactId>junit</artifactId>
    +            <version>4.11</version>
    --- End diff --
    
    can remove this version number and probably the whole block.  We have junit as a test scope dep in the parent pom.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] nifi issue #1676: NIFI-3709: NiFi flow lineage to Apache Atlas.

Posted by ijokarumawak <gi...@git.apache.org>.
Github user ijokarumawak commented on the issue:

    https://github.com/apache/nifi/pull/1676
  
    Closing this PR. I'm adding use of Provenance events to support more Processors to report lineage and also covers NiFi Expression Language. The WIP code is available here, and I'm going to create another PR once it's get ready to be reviewed. Thanks!
    https://github.com/ijokarumawak/nifi/tree/nifi-3709-2/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task


---

[GitHub] nifi issue #1676: NIFI-3709: NiFi flow lineage to Apache Atlas.

Posted by ijokarumawak <gi...@git.apache.org>.
Github user ijokarumawak commented on the issue:

    https://github.com/apache/nifi/pull/1676
  
    @joewitt Added L&N. I hope I've done it correctly. Please check.
    BTW, [SmartBear has acquired Reverb technologies](https://smartbear.com/news/news-releases/sponsorship-of-swagger/) and its copyright has been changed to [SmartBear Software](https://github.com/swagger-api/swagger-core/blob/master/LICENSE). nifi-assembly and nifi-framework-nar still have 'Copyright 2015 Reverb Technologies, Inc.' in their NOTICE file. Should we update those, too?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---