All Projects → yahoo → Fili

yahoo / Fili

Licence: apache-2.0
Easily make RESTful web services for time series reporting with Big Data analytics engines like Druid and SQL Databases.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Fili

Maha
A framework for rapid reporting API development; with out of the box support for high cardinality dimension lookups with druid.
Stars: ✭ 101 (-33.11%)
Mutual labels:  analytics, big-data, druid
Pachyderm
Reproducible Data Science at Scale!
Stars: ✭ 5,305 (+3413.25%)
Mutual labels:  analytics, big-data
Beeva Best Practices
Best Practices and Style Guides in BEEVA
Stars: ✭ 335 (+121.85%)
Mutual labels:  analytics, big-data
Spark With Python
Fundamentals of Spark with Python (using PySpark), code examples
Stars: ✭ 150 (-0.66%)
Mutual labels:  analytics, big-data
Trino
Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)
Stars: ✭ 4,581 (+2933.77%)
Mutual labels:  analytics, big-data
Crate
CrateDB is a distributed SQL database that makes it simple to store and analyze massive amounts of data in real-time.
Stars: ✭ 3,254 (+2054.97%)
Mutual labels:  analytics, big-data
Sciblog support
Support content for my blog
Stars: ✭ 694 (+359.6%)
Mutual labels:  analytics, big-data
awesome-AI-kubernetes
❄️ 🐳 Awesome tools and libs for AI, Deep Learning, Machine Learning, Computer Vision, Data Science, Data Analytics and Cognitive Computing that are baked in the oven to be Native on Kubernetes and Docker with Python, R, Scala, Java, C#, Go, Julia, C++ etc
Stars: ✭ 95 (-37.09%)
Mutual labels:  big-data, analytics
Dremio Oss
Dremio - the missing link in modern data
Stars: ✭ 862 (+470.86%)
Mutual labels:  analytics, big-data
Qcportal
A client interface to the QCArchive Project (read-only image of QCFractal)
Stars: ✭ 29 (-80.79%)
Mutual labels:  analytics, big-data
Countly Sdk Cordova
Countly Product Analytics SDK for Cordova, Icenium and Phonegap
Stars: ✭ 69 (-54.3%)
Mutual labels:  analytics, big-data
Hunt Framework
A Web framework for D Programming Language. Full-stack high-performance.
Stars: ✭ 256 (+69.54%)
Mutual labels:  restful-api, webservice
openmrs-module-webservices.rest
Provides RESTful web services for OpenMRS
Stars: ✭ 68 (-54.97%)
Mutual labels:  webservice, restful-api
Delta
An open-source storage layer that brings scalable, ACID transactions to Apache Spark™ and big data workloads.
Stars: ✭ 3,903 (+2484.77%)
Mutual labels:  analytics, big-data
hadoop-data-ingestion-tool
OLAP and ETL of Big Data
Stars: ✭ 17 (-88.74%)
Mutual labels:  big-data, druid
Data Science Career
Career Resources for Data Science, Machine Learning, Big Data and Business Analytics Career Repository
Stars: ✭ 630 (+317.22%)
Mutual labels:  analytics, big-data
Hyperspace
An open source indexing subsystem that brings index-based query acceleration to Apache Spark™ and big data workloads.
Stars: ✭ 246 (+62.91%)
Mutual labels:  analytics, big-data
Clickhouse
ClickHouse® is a free analytics DBMS for big data
Stars: ✭ 21,089 (+13866.23%)
Mutual labels:  analytics, big-data
Rakam Api
📈 Collect customer event data from your apps. (Note that this project only includes the API collector, not the visualization platform)
Stars: ✭ 772 (+411.26%)
Mutual labels:  analytics, big-data
Logisland
Scalable stream processing platform for advanced realtime analytics on top of Kafka and Spark. LogIsland also supports MQTT and Kafka Streams (Flink being in the roadmap). The platform does complex event processing and is suitable for time series analysis. A large set of valuable ready to use processors, data sources and sinks are available.
Stars: ✭ 97 (-35.76%)
Mutual labels:  analytics, big-data

Fili

Read this in other languages: 中文.

Download Gitter Travis Codacy grade Users Google Group Developers Google Group
Quality Gate Status Maintainability Rating Coverage Lines of Code

Fili is a Java-based framework that makes it easy to build and maintain RESTful web services for time series reporting and analytics. Fili's HTTP GET-based reporting API is clean and user-friendly, hiding the complexities of complicated metric and dimension definition, data storage, and query optimization from end-users. Designed with Big Data and scalability in mind, Fili has first-class support for Druid as a back-end, but Fili's flexible pipeline-style architecture can handle nearly any back-end for data storage.

Fili exposes the same core concepts that all time series reporting and analytics systems expose:

Other systems expose additional concepts like Views, Partitions, and metric formulas, but Fili chooses not to expose end-users to those low-level concerns. By limiting the mental model of Fili's API to just these core domain concepts, Fili's API allows end-users to better extract business value by focusing on finding answers to the what and why questions from their data, rather than on how to ask their question.

Fili's simple and clear API lets users focus on their business-driven questions, and the Fili library takes care of figuring out how to best answer the question for them.

This simplicity also allows for a huge amount of flexibility around where data is stored and how it's queried and retrieved from back-end systems. Having such flexibility allows those maintaining a web service built with Fili to move data around, better optimize queries, and even swap out entire back-end systems without breaking their end-users or forcing them to go through a painful migration.

Fili also provides a plethora of other capabilities. Here are some of them:

Functionality Operability
Complex metric definition Rate limiting
Performance slice routing Query weight checks
Dimension joins (both annotation and filtering) Rich usage metrics
Partial interval protection Health checks
Volatile data handling Caching
Modular architecture

Community Gitter Users Google Group Developers Google Group

The Fili community generally hangs out on Gitter, so please drop by if you have any questions, comments, concerns, wishes, hopes, dreams, wants, needs, yearnings, musings, or idle curiosities about Fili. The core Fili developers love meeting new people and talking with them about how they can best use Fili to solve their Big Data time series reporting and analytics problems. We know there are gaps in Fili, and definitely lots of new, powerful capabilities to add, so hearing about what's working and what could be better will help drive the direction of Fili.

If you have other thoughts, or are running into trouble and are not able to get help from the community on Gitter, please open an issue describing your problem or idea.

If you would like to get involved with Fili development, check out the CONTRIBUTING file.

Quick Start

Fili comes with a pre-configured example application to help you get started and serve as a jumping-off-point for building your own web service using Fili. The example application lets you report on Wikipedia article edit information, and picks up where Druid's quick-start tutorial leaves off.

Versioning

Fili is stable and production-ready today, but the codebase is still under active development, with many large-scale changes and new features being worked on or planned for the future.

Active development happens on the patch version of the highest minor version.

@Deprecated

APIs marked with the @Deprecated annotation are planned for removal in upcoming releases. Deprecated APIs will be supported for 1 stable release beyond the release in which they were deprecated, but it is strongly recommended to stop using them. After deprecated APIs are no longer supported, they may be removed at any time.

Binaries (How to Get It)

Binaries for Fili are stored in Bintray. Dependency information for Maven, Ivy, and Gradle can be found at https://bintray.com/yahoo/maven/fili, and some examples are below.

Maven:

<dependency>
    <groupId>com.yahoo.fili</groupId>
    <artifactId>fili</artifactId>
    <version>x.y.z</version>
</dependency>

<repository>
    <id>fili</id>
    <url>http://yahoo.bintray.com/maven</url>
</repository>

Gradle:

repositories {
    maven { url 'http://yahoo.bintray.com/maven' }
}

dependencies {
    compile 'com.yahoo.fili:fili:x.y.z'
}

The most bleeding-edge version is: Bleeding-edge

The most recent stable version is: Stable

Extending

Fili's easy to extend! It has a bunch of hooks already (AbstractBinderFactory)! There's a module system for config and modules depending on other modules! There's lots more to say here, but the time the time, look at the time!

Documentation

More information about Fili can be found at fili.io.

Contributing Developers Google Group

More details can be found in the CONTRIBUTING file.

LICENSE

Copyright 2016 Yahoo! Inc.

Licensed 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].