Return-Path: X-Original-To: apmail-apex-dev-archive@minotaur.apache.org Delivered-To: apmail-apex-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B603C186BA for ; Wed, 20 Apr 2016 05:57:26 +0000 (UTC) Received: (qmail 10185 invoked by uid 500); 20 Apr 2016 05:57:26 -0000 Delivered-To: apmail-apex-dev-archive@apex.apache.org Received: (qmail 10123 invoked by uid 500); 20 Apr 2016 05:57:26 -0000 Mailing-List: contact dev-help@apex.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@apex.incubator.apache.org Delivered-To: mailing list dev@apex.incubator.apache.org Received: (qmail 10083 invoked by uid 99); 20 Apr 2016 05:57:26 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 20 Apr 2016 05:57:26 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id B5FB11A04F8 for ; Wed, 20 Apr 2016 05:57:25 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.721 X-Spam-Level: X-Spam-Status: No, score=-0.721 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=datatorrent-com.20150623.gappssmtp.com Received: from mx2-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id ZEY0R_pKDUik for ; Wed, 20 Apr 2016 05:57:23 +0000 (UTC) Received: from mail-oi0-f50.google.com (mail-oi0-f50.google.com [209.85.218.50]) by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with ESMTPS id CF0B45F282 for ; Wed, 20 Apr 2016 05:57:22 +0000 (UTC) Received: by mail-oi0-f50.google.com with SMTP id k142so31060603oib.1 for ; Tue, 19 Apr 2016 22:57:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=datatorrent-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to; bh=ag94nwKrocM5ZLOo6MNJ0t8PNQHugeMbMdMWM62LgOM=; b=0ogaiasRs3YwzA8n82TOYirAaAH6shQKAYRsyQvSgEYDa0Jm9QckjDkqmB6+7oTMwH eM+bNbN7hc5nc4hO1ObcBeRu1a046EcIo5ZsQljERiT/JKnpYODymadxF7R9mXegNaD0 OFGpfd+6SPtLyJaW3dqTLk4VTNVrPWDwUck+1mOyqvThf4hk3xdkpc0IJH1udwxvVIrJ D/j3RP3zcS5MgRIZ5QU6CsCzYH3F2auWed0/F6NJ4mbQEHThuxzVwLNyc8cKEX7ywpi4 bNAQcHJzf3ynMJ7AwoP38N8tHaRxqYCqJtecsTa1nFsNhRXW+vQcvevg56rgiJZaa9Tg ujGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to; bh=ag94nwKrocM5ZLOo6MNJ0t8PNQHugeMbMdMWM62LgOM=; b=CY6F5tyGOLf42MR7dqIQJRbhtsQQ22tn19h7zyo2TB6TqmnAsOOU2uBDRyFmnbHkIL vlenM5dN9Bvt+GXuAmmZAJJPIv+49ANryfiRDw4WaQsyw0fMVSM1N4n+FFsMbTsccXED Kc81ROdXCkmRhKA8opvuF4h4FwGAx0qnC6NtuwJqXiG5RW75tGbqIIZSN2w2VDtPHT8a Pwi9YdhY/7z1uPCe2JVQjOBfp4I7HW1czkv0VLR8qbMCrfa+DcGgXpZcl0IT7Afxnn+4 /+ebInUZ20gxnn1uGYeh+Aeo+YrOpbzNKv13ccrVnMvlQi9VW9wSiSc+uOnamLkAzeZ2 AOPQ== X-Gm-Message-State: AOPr4FVn3YavHVswt9f1HbYP/ecaU3ec883vI0DAmzSlgIhbrknjkATn0qjuTAXZPQ4NywzH1OzF4JPbjU/kgo0t MIME-Version: 1.0 X-Received: by 10.157.10.99 with SMTP id 90mr2916492otg.58.1461131841550; Tue, 19 Apr 2016 22:57:21 -0700 (PDT) Received: by 10.202.173.85 with HTTP; Tue, 19 Apr 2016 22:57:21 -0700 (PDT) In-Reply-To: References: Date: Tue, 19 Apr 2016 22:57:21 -0700 Message-ID: Subject: Re: AppFactory in Apex From: Thomas Weise To: dev@apex.incubator.apache.org Content-Type: text/plain; charset=UTF-8 #2 JSON format is already supported. #4 is an example how you can translate a specification into a logical plan without any change in core. I think it is important to discuss this in the context of a use case. Thomas On Mon, Apr 18, 2016 at 10:42 PM, Chinmay Kolhatkar wrote: > Hi Thomas, > > Can you please elaborate on "different DAG specification can be translated > into a Logical Plan using existing API"? > > I don't have specific usecase in mind. This is just an idea that I wanted > to share with the community on following thought process: > > 1. With current AppFactory impl (for JSON, properties file and > populateDAG), gives us those 3 ways to construct and configure DAG. Lets > say one wants to have own DAG specification format, then that's not > possible as of now. > > 2. JSON format opens a new way of creating DAG. To me, this should a great > power of apex engine that DAG specification and configuration is not > limited to Java code, but even more. Making a configurable AppFactory can > open discussion to even better formats/standards for specifications of DAG. > > 3. If JSON/Properties file format needs a change either in DAG > specification/configuration, this means, the changes has to go in Apex > core. Instead, if we allow overriding AppFactory, one could have more DAG > specifications/conf added to Malhar making lesser changes in apex > core/engine. I'm thinking more in perspective of stability of apex engine > release build. > > 4. Recently Siyuan shared high level APIs for apex application. Having > a separate AppFactory for such high level APIs can make this more modular. > > 5. Another example where this could be useful is Apex DataFrames shared by > Capital One folks. > > Overall, this is just an idea and is not bound by any specific usecase. > The basic idea is > - Plug-ability to apex engine > - Make apex platform more extensible > - Reducing configuration/DAG specification related changes making > apex engine more sturdy. > > > Thanks, > Chinmay. > > > > On Tue, Apr 19, 2016 at 7:56 AM, Thomas Weise > wrote: > >> Chinmay, >> >> Different DAG specifications can be translated into a logical plan >> using the existing API. >> >> AppFactory is an implementation detail. Can you describe the problem >> you are looking to solve? >> >> Thanks >> >> >> On Mon, Apr 18, 2016 at 6:21 PM, Chinmay Kolhatkar >> wrote: >> > Dear Community, >> > >> > Does apex engine allows user to override or extend existing >> implementation >> > of AppFactory from outside of engine? >> > >> > If it not, would allowing it make any required launch time enhancements >> > easier and safer (for stability) rather than changing apex engine code? >> > >> > Another advantage I see by doing this is, user can have their own DAG >> > specification format if required. >> > >> > Thanks, >> > Chinmay. >>