{"id":13458714,"url":"https://github.com/apache/nifi","last_synced_at":"2025-12-17T01:38:34.536Z","repository":{"id":24505504,"uuid":"27911088","full_name":"apache/nifi","owner":"apache","description":"Apache NiFi","archived":false,"fork":false,"pushed_at":"2025-05-10T17:20:53.000Z","size":279374,"stargazers_count":5314,"open_issues_count":23,"forks_count":2799,"subscribers_count":188,"default_branch":"main","last_synced_at":"2025-05-11T05:44:57.265Z","etag":null,"topics":["hacktoberfest","java","nifi"],"latest_commit_sha":null,"homepage":"https://nifi.apache.org/","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-12-12T08:00:05.000Z","updated_at":"2025-05-10T22:08:20.000Z","dependencies_parsed_at":"2025-05-08T17:30:27.210Z","dependency_job_id":null,"html_url":"https://github.com/apache/nifi","commit_stats":{"total_commits":9937,"total_committers":701,"mean_commits":14.17546362339515,"dds":0.8619301600080507,"last_synced_commit":"a20eaa9a40ae8530110edcd046956f7189a5593c"},"previous_names":[],"tags_count":207,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fnifi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fnifi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fnifi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fnifi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/nifi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253523717,"owners_count":21921818,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","java","nifi"],"created_at":"2024-07-31T09:00:55.593Z","updated_at":"2025-12-17T01:38:34.447Z","avatar_url":"https://github.com/apache.png","language":"Java","readme":"\u003c!--\n  Licensed to the Apache Software Foundation (ASF) under one or more\n  contributor license agreements.  See the NOTICE file distributed with\n  this work for additional information regarding copyright ownership.\n  The ASF licenses this file to You under the Apache License, Version 2.0\n  (the \"License\"); you may not use this file except in compliance with\n  the License.  You may obtain a copy of the License at\n      http://www.apache.org/licenses/LICENSE-2.0\n  Unless required by applicable law or agreed to in writing, software\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  See the License for the specific language governing permissions and\n  limitations under the License.\n--\u003e\n\n# Apache NiFi\n\n\u003cimg src=\"https://nifi.apache.org/images/apache-nifi-logo.svg\" width=\"300\" alt=\"Apache NiFi\"/\u003e\n\n### Status\n\n[![ci-workflow](https://github.com/apache/nifi/workflows/ci-workflow/badge.svg)](https://github.com/apache/nifi/actions/workflows/ci-workflow.yml)\n[![system-tests](https://github.com/apache/nifi/workflows/system-tests/badge.svg)](https://github.com/apache/nifi/actions/workflows/system-tests.yml)\n[![integration-tests](https://github.com/apache/nifi/actions/workflows/integration-tests.yml/badge.svg)](https://github.com/apache/nifi/actions/workflows/integration-tests.yml)\n[![docker-tests](https://github.com/apache/nifi/actions/workflows/docker-tests.yml/badge.svg)](https://github.com/apache/nifi/actions/workflows/docker-tests.yml)\n[![code-compliance](https://github.com/apache/nifi/actions/workflows/code-compliance.yml/badge.svg)](https://github.com/apache/nifi/actions/workflows/code-compliance.yml)\n[![code-coverage](https://github.com/apache/nifi/actions/workflows/code-coverage.yml/badge.svg)](https://github.com/apache/nifi/actions/workflows/code-coverage.yml)\n[![codecov](https://codecov.io/gh/apache/nifi/branch/main/graph/badge.svg)](https://codecov.io/gh/apache/nifi)\n\n### Resources\n\n[![NiFi API](https://img.shields.io/maven-central/v/org.apache.nifi/nifi-api.svg?label=nifi-api\u0026logo=apachenifi\u0026logoColor=ffffff\u0026color=728e9b)](https://central.sonatype.com/artifact/org.apache.nifi/nifi-api)\n[![NiFi NAR Maven Plugin](https://img.shields.io/maven-central/v/org.apache.nifi/nifi-nar-maven-plugin.svg?label=nifi-nar-maven-plugin\u0026logo=apachenifi\u0026logoColor=ffffff\u0026color=728e9b)](https://central.sonatype.com/artifact/org.apache.nifi/nifi-nar-maven-plugin)\n[![NiFi Framework](https://img.shields.io/maven-central/v/org.apache.nifi/nifi.svg?label=nifi-framework\u0026logo=apachenifi\u0026logoColor=ffffff\u0026color=728e9b)](https://nifi.apache.org/download/)\n[![NiFI Docker Pulls](https://img.shields.io/docker/pulls/apache/nifi.svg?logo=docker\u0026logoColor=ffffff)](https://hub.docker.com/r/apache/nifi/)\n[![License](https://img.shields.io/github/license/apache/nifi)](https://github.com/apache/nifi/blob/main/LICENSE)\n[![NiFi API Javadoc](https://javadoc.io/badge2/org.apache.nifi/nifi-api/javadoc.svg)](https://javadoc.io/doc/org.apache.nifi/nifi-api)\n\n### Contacts\n\n[![Track Issues](https://img.shields.io/badge/track-Issues-728e9b.svg?logo=jirasoftware)](https://issues.apache.org/jira/browse/NIFI)\n[![Chat on Slack](https://img.shields.io/badge/chat-Slack-728e9b.svg?logo=slack)](https://s.apache.org/nifi-community-slack)\n[![Contact Developers](https://img.shields.io/badge/contact-Developers-728e9b.svg?logo=apache)](https://lists.apache.org/list.html?dev@nifi.apache.org)\n[![Contact Users](https://img.shields.io/badge/contact-Users-728e9b.svg?logo=apache)](https://lists.apache.org/list.html?users@nifi.apache.org)\n\n### Community\n\n[![Join Slack Community](https://img.shields.io/badge/join-Slack-728e9b.svg?logo=slack)](https://join.slack.com/t/apachenifi/shared_invite/zt-11njbtkdx-ZRU8FKYSWoEHRJetidy0zA)\n[![Follow on LinkedIn](https://img.shields.io/badge/follow-Apache%20NiFi-728e9b.svg?logo=linkedin)](https://www.linkedin.com/company/apache-nifi/)\n[![Follow on X](https://img.shields.io/badge/follow-apachenifi-728e9b.svg?logo=x)](https://x.com/apachenifi)\n\n## Features\n\n[Apache NiFi](https://nifi.apache.org/) is an easy to use, powerful, and reliable system to process and distribute data.\n\nNiFi automates cybersecurity, observability, event streams, and generative AI data pipelines and distribution\nfor thousands of companies worldwide across every industry.\n\n- Browser User Interface\n  - Seamless experience for design, control, and monitoring\n  - Runtime management and versioned pipelines\n  - Secure by default with HTTPS\n- Scalable Processing\n  - Configurable prioritization for throughput and latency\n  - Guaranteed delivery with retry and backoff strategies\n  - Horizontal scaling with clustering\n- Provenance Tracking \n  - Searchable history with configurable attributes\n  - Graph data lineage from source to destination\n  - Metadata and content for each processing decision\n- Extensible Design\n  - Plugin interface for Processors and Controller Services\n  - Support for Processors in native Python\n  - REST API for orchestration and monitoring\n- Secure Configuration\n  - Single sign-on with OpenID Connect or SAML 2\n  - Flexible authorization policies for role-based access\n  - Encrypted communication with TLS and SFTP\n\n## Requirements\n\nNiFi supports modern operating systems and requires recent language versions for developing and running the application.\n\n### Platform Requirements\n\n- Java 21\n\n### Optional Dependencies\n\n- Python 3.10 or higher\n\n## Projects\n\nThe source repository includes several component projects.\n\nPlease review individual project documentation for additional details.\n\n- [Apache NiFi](https://nifi.apache.org/documentation/)\n- [Apache NiFi Registry](https://github.com/apache/nifi/blob/main/nifi-registry/nifi-registry-assembly/README.md)\n- [Apache NiFi MiNiFi](https://github.com/apache/nifi/blob/main/minifi/minifi-assembly/README.md)\n\n## Getting Started\n\nProject guides provide extensive documentation for installing and extending the application.\n\n- [Getting Started](https://nifi.apache.org/documentation/nifi-latest/html/getting-started.html)\n- [User Guide](https://nifi.apache.org/documentation/nifi-latest/html/user-guide.html)\n- [Administrator Guide](https://nifi.apache.org/documentation/nifi-latest/html/administration-guide.html)\n- [Developer Guide](https://nifi.apache.org/documentation/nifi-latest/html/developer-guide.html)\n\n## Developing\n\nNiFi uses the [Maven Wrapper](https://maven.apache.org/wrapper/) for project development. The Maven Wrapper provides\nshell scripts that download and cache a selected version of [Apache Maven](https://maven.apache.org/) for running build\ncommands.\n\nDeveloping on Microsoft Windows requires using `mvnw.cmd` instead of `mvnw` to run Maven commands.\n\n### Building\n\nRun the following command to build project modules using parallel execution:\n\n```shell\n./mvnw install -T1C\n```\n\nRun the following command to build project modules using parallel execution with static analysis to confirm compliance\nwith code and licensing requirements:\n\n```shell\n./mvnw install -T1C -P contrib-check\n```\n\nRun the following command to build the application binaries without building other optional modules:\n\n```shell\n./mvnw install -T1C -am -pl :nifi-assembly\n```\n\n### Binaries\n\nThe `nifi-assembly` module contains the binary distribution.\n\n```shell\nls nifi-assembly/target/nifi-*-bin.zip\n```\n\nThe `nifi-assembly` module includes the binary distribution in a directory for local development and testing.\n\n```shell\ncd nifi-assembly/target/nifi-*-bin/nifi-*/\n```\n\n## Running\n\nNiFi provides shell scripts for starting and stopping the system.\n\nRunning on Microsoft Windows requires using `nifi.cmd` instead of `nifi.sh` for system commands.\n\n### Starting\n\nRun the following command to start NiFi from the distribution directory:\n\n```shell\n./bin/nifi.sh start\n```\n\n### Accessing\n\nThe default configuration generates a random username and password on startup. NiFi writes the generated credentials\nto the application log located in `logs/nifi-app.log` under the NiFi installation directory.\n\nThe following command can be used to find the generated credentials on operating systems with `grep` installed:\n\n```shell\ngrep Generated logs/nifi-app*log\n```\n\nNiFi logs the generated credentials as follows:\n\n```shell\nGenerated Username [USERNAME]\nGenerated Password [PASSWORD]\n```\n\nThe `USERNAME` will be a random UUID composed of 36 characters. The `PASSWORD` will be a random string.\n\nThe username and password can be replaced with custom credentials using the following command:\n\n```shell\n./bin/nifi.sh set-single-user-credentials \u003cusername\u003e \u003cpassword\u003e\n```\n\nNiFi defaults to running on the `localhost` address with HTTPS on port `8443` at the following URL:\n\n```\nhttps://localhost:8443/nifi\n```\n\nBrowsers will display a warning message indicating a potential security risk due to the self-signed certificate\ngenerated during initialization. Production deployments should provision a certificate from a trusted certificate\nauthority and update the NiFi keystore and truststore configuration.\n\n## License\n\nExcept as otherwise noted this software is licensed under the\n[Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.html)\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n  https://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n## Export Control\n\nThis distribution includes cryptographic software. The country in which you\ncurrently reside may have restrictions on the import, possession, use, and/or\nre-export to another country, of encryption software. BEFORE using any\nencryption software, please check your country's laws, regulations and\npolicies concerning the import, possession, or use, and re-export of encryption\nsoftware, to see if this is permitted. See https://www.wassenaar.org for more\ninformation.\n\nThe U.S. Government Department of Commerce, Bureau of Industry and Security\n(BIS), has classified this software as Export Commodity Control Number (ECCN)\n5D002.C.1, which includes information security software using or performing\ncryptographic functions with asymmetric algorithms. The form and manner of this\nApache Software Foundation distribution makes it eligible for export under the\nLicense Exception ENC Technology Software Unrestricted (TSU) exception (see the\nBIS Export Administration Regulations, Section 740.13) for both object code and\nsource code.\n\nThe following provides more details on the included cryptographic software:\n\nApache NiFi uses the following libraries and frameworks for encrypted\ncommunication and storage of sensitive information:\n\n- [Apache MINA SSHD](https://mina.apache.org/sshd-project/)\n- [Bouncy Castle](https://www.bouncycastle.org)\n- [Jagged](https://github.com/exceptionfactory/jagged)\n- [Java Cryptography Architecture](https://docs.oracle.com/en/java/javase/21/security/java-cryptography-architecture-jca-reference-guide.html)\n- [SSHJ](https://github.com/hierynomus/sshj)\n","funding_links":[],"categories":["Java","Data Pipeline ETL Frameworks","Data Pipeline","Data Processing","数据中台","Back-End Development","Recently Updated","大数据","Projects"],"sub_categories":["[Apr 02, 2025](/content/2025/04/02/README.md)","Data Integration"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fnifi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fnifi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fnifi/lists"}