Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id C2247200CF3 for ; Wed, 19 Jul 2017 21:12:06 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id C0BC11693B3; Wed, 19 Jul 2017 19:12:06 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 6A11016932C for ; Wed, 19 Jul 2017 21:12:05 +0200 (CEST) Received: (qmail 21649 invoked by uid 500); 19 Jul 2017 19:12:04 -0000 Mailing-List: contact user-help@flink.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list user@flink.apache.org Received: (qmail 21576 invoked by uid 99); 19 Jul 2017 19:12:03 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 19 Jul 2017 19:12:03 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 8816A18034F for ; Wed, 19 Jul 2017 19:12:03 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 3.579 X-Spam-Level: *** X-Spam-Status: No, score=3.579 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=2, KAM_LINEPADDING=1.2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id MsYpdDOre-5W for ; Wed, 19 Jul 2017 19:12:02 +0000 (UTC) Received: from mail-ua0-f181.google.com (mail-ua0-f181.google.com [209.85.217.181]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id E60455F6C4 for ; Wed, 19 Jul 2017 19:12:01 +0000 (UTC) Received: by mail-ua0-f181.google.com with SMTP id 35so6902332uax.3 for ; Wed, 19 Jul 2017 12:12:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=mSQxC+O22D/tXzYV3rgAx0dTw/rWZKsMHiw61TrShr0=; b=bEem2XAJrswQERAAe8u9FRxYtNofPdt8mqHAFELiqC2T2usgC/UrzsW4EqV3BIkIQb Ydy3257NBvVbby2WA3QeubXMQ6+1OQmtduuwprlWPcnVp5JcalpgSVyFROBp3uJe2Hel YuojvDGVZHr9WxE2AkgNJtv9883mg8UfbD43PE8FznYziCJTslcqkB646yQxtEwkoDYu FX8qKBHi8ZQJGuhYvPxgEmG2nWk+mz3C9H8j+tmwa5HMszzrm631NwNSYPZOd/PY4sds ny1nJ4MrjXCg62YBBD1WL3xK1GWQ6yObvh2JoS2+XXG73fzTmN8ni5X4YA+m6rKEHknK BCnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=mSQxC+O22D/tXzYV3rgAx0dTw/rWZKsMHiw61TrShr0=; b=WUP+S96KAruE5nLTBq/l0jKzX57yne69empHfW/Lbt/AJp1uTkROv6fC+N2KHSGkxI 7qpHok6ZZ+MP2ocnuwrNuv+otSiNssEYKuenYUcvF2gdu9LZ7HbPLjNT8i3Bh0Tx8+HG ynS427a8EDCieBQghQChtyErdJ18YXqkW+tO93NVPAii+eWPmKrLjY9pXQWMMgMaOWAy JPob2JFV5RA5gZEUdPL6/5b1Z3yRw0Td61OmFNsYxCPzwDbKlXAXSWkFlwqEWYGt1IhB Mjp9gQDXiFtIPhrcwJxfreMJQ4YYMbly38QMRiZYNndgCewTAAcBcT2lYJPyM2dE/uOh HyVA== X-Gm-Message-State: AIVw111fi5uxYjqfzrWrbSDQxaWpEjDgww1GrQ7cAQnZNyDr2Qx+MA41 d2dF8k658f3yuH2XnhDql+rDf+/uow== X-Received: by 10.159.49.2 with SMTP id m2mr688553uab.46.1500491521519; Wed, 19 Jul 2017 12:12:01 -0700 (PDT) MIME-Version: 1.0 Received: by 10.31.86.5 with HTTP; Wed, 19 Jul 2017 12:11:30 -0700 (PDT) In-Reply-To: References: From: Fabian Hueske Date: Wed, 19 Jul 2017 21:11:30 +0200 Message-ID: Subject: Re: Flink ML with DataStream To: "Branham, Jeremy [IT]" Cc: "user@flink.apache.org" Content-Type: multipart/related; boundary="f403045e1d90211ef70554b068a4" archived-at: Wed, 19 Jul 2017 19:12:06 -0000 --f403045e1d90211ef70554b068a4 Content-Type: multipart/alternative; boundary="f403045e1d90211ef60554b068a3" --f403045e1d90211ef60554b068a3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, unfortunately, it is not possible to convert a DataStream into a DataSet. Flink's DataSet and DataStream APIs are distinct APIs that cannot be used together. The FlinkML library is only available for the DataSet API. There is some ongoing work to add a machine learning library for streaming use cases as well, but this is still in an early stage and mostly focusing on model serving on streams, i.e, applying an externally trained model on streaming data. Best, Fabian 2017-07-19 19:07 GMT+02:00 Branham, Jeremy [IT] : > Hello =E2=80=93 > > I=E2=80=99ve been successful working with Flink in Java, but have some tr= ouble > trying to leverage the ML library, specifically with KNN. > > From my understanding, this is easier in Scala [1] so I=E2=80=99ve been c= onverting > my code. > > > > One issue I=E2=80=99ve encountered is =E2=80=93 How do I get a DataSet[Ve= ctor] from a > DataStream[MyClass]? > > I=E2=80=99ve attempted to use windowing, but scala is completely new to m= e and I > may need a push in the right direction. > > > > The below code executes properly, I=E2=80=99m just unsure of the next ste= p. > > > > > > I=E2=80=99ve also seen an example [2] that looks like something I need to > implement =E2=80=93 especially the PartialModelBuilder. > > Am I on the right track? > > Thoughts? > > > > Thanks! > > > > > > [1] - https://stackoverflow.com/questions/44039857/is-there-a- > apache-flink-machine-learning-tutorial-in-java-language/44040819#44040819 > > [2] - https://github.com/apache/flink/blob/master/flink- > examples/flink-examples-streaming/src/main/scala/org/ > apache/flink/streaming/scala/examples/ml/IncrementalLearningSkeleton.scal= a > > > > > > > > Jeremy D. Branham > > Technology Architect - Sprint > O: +1 (972) 405-2970 <(972)%20405-2970> | M: +1 (817) 791-1627 > <(817)%20791-1627> > > Jeremy.D.Branham@Sprint.com > > #gettingbettereveryday > > > > ------------------------------ > > This e-mail may contain Sprint proprietary information intended for the > sole use of the recipient(s). Any use by others is prohibited. If you are > not the intended recipient, please contact the sender and delete all copi= es > of the message. > --f403045e1d90211ef60554b068a3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

unfortunately, it is not p= ossible to convert a DataStream into a DataSet.
Flink's DataSe= t and DataStream APIs are distinct APIs that cannot be used together.
<= /div>

The FlinkML library is only available for the DataSet API. There is some ongoing work to add a machine learning library for streamin= g use cases as well, but this is still in an early stage and mostly focusin= g on model serving on streams, i.e, applying an externally trained model on= streaming data.

Best, Fabian


2017-07-19 19:07 GMT+02:0= 0 Branham, Jeremy [IT] <Jeremy.D.Branham@sprint.com>:

Hello =E2=80=93

I=E2=80=99ve been successful working with Flink in J= ava, but have some trouble trying to leverage the ML library, specifically = with KNN.

From my understanding, this is easier in Scala [1] s= o I=E2=80=99ve been converting my code.

=C2=A0

One issue I=E2=80=99ve encountered is =E2=80=93 How = do I get a DataSet[Vector] from a DataStream[MyClass]?

I=E2=80=99ve attempted to use windowing, but scala i= s completely new to me and I may need a push in the right direction.=

=C2=A0

The below code executes properly, I=E2=80=99m just u= nsure of the next step.

=C2=A0

=C2=A0

I=E2=80=99ve also seen an example [2] that looks lik= e something I need to implement =E2=80=93 especially the PartialModelBuilde= r.

Am I on the right track?

Thoughts?

=C2=A0

Thanks!

=C2=A0

=C2=A0

[1] - https://stackoverflow.com/questions/44039857/is-there-a-apache-fl= ink-machine-learning-tutorial-in-java-language/44040819#44040819<= /a>

[2] - https://github.com/apache/flink/blob/master/flink-examples/flink-= examples-streaming/src/main/scala/org/apache/flink/streaming/scal= a/examples/ml/IncrementalLearningSkeleton.scala

=C2=A0

=C2=A0

=C2=A0

Jeremy D. Branham

Technology Architect - Spri= nt
O: +1 (972) 405-2970 | M: +1 (817) 791-1627

Jeremy.= D.Branham@Sprint.com <= /p>

#gettingbettereveryday

=C2=A0




This e-mail may contain Sprint proprietary information intended for the sol= e use of the recipient(s). Any use by others is prohibited. If you are not = the intended recipient, please contact the sender and delete all copies of = the message.

--f403045e1d90211ef60554b068a3-- --f403045e1d90211ef70554b068a4 Content-Type: image/png; name="image001.png" Content-Disposition: inline; filename="image001.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: 75c289b236ab9988_0.1 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 rN/TvLtNVFM1fi2T+tcn9pjyFqI6F34+ncAdB8VNj4JxnS/jZRbpyKOWQ6C6NhD/PW3KhjafCh29 tZX1lKOqVjpIjwj/qJ/jIvWBAs/qe+44iXeYBNoNoHRtkczdvX95cNvCt0+9pecnplaeZ8xwJ8Qr gUUfaQU2fv0wASQN01lCIcwyH694o1paauHb0j4Wi2XiZaNnT8OgfMTlkHyKpr++zHizp5G8X2kH vzL1avdaFkb5xEX2svr1mN6Np8iVJbASs7EyIwqpNU+gqjbQp1cvrjfv3Rn2u9xyKpxpYzOtvXTD WHG5N963jb39gfeKHa0eD9J58Y4MBFpEpGvLFdj49b7eVvLfeK/fKE/gjoOv7m0m95j29qPyBDLt afdOKO2YfDMfr5jtBopx211/3MYzgLTxcu1CSaPU68OjZqH+0Zh3f8vlYGFooWEWmED5UPmRcyNu l83XcrpRNtcqt8s2zjV6LW/973vpBuvGfymF/5PVsl6uUYbAlUunJ9bp1+lzj7Lgb7+sRxryNj+B atpAl9+haO6BkOVgFIQynzKNye49va10SXh2wNpPLkU+bmVQ45WwVx3yRwVbvy2dK6WLgJjIKSmx nywCbTe+iLYi56GIkWvOmyjlowTS+3LI7/X26+5LIMsVKBrk0QrfewjDGdpApR+vqC4nPW8wneOL 0WiIlcZvv+4GNOXqaPm2CD3uJhbXxPN3mi+HdFOUGQXalE9FI2WXU/YrvopeyWy6bGi5Rq/lxq9/ id9h1K3y07eOlbzVVgXfS1+EGN7RtAL5Kytl8pxIm1ufOZbkbY1phht1NjWB/1K93ols6CdDtyaw nDLry+Pud9OKzT3a2vjI3tHD/lX2Yv/rz8g18/xQucDcuXLx+zP9R2foO1p7+ere0/2+x0/7t57t /ej7bnNquaZZoO3RHtVWZD94Bvere1f76cVljK/QLl8gd8uvvzDx+jOMB3pSCgysgS9ZwhrO0NLb MsYrXKpPw3U5mpErfvnte+J1d+j1aWMbKQuN3b0/epk98+2j6h0NOqjmR/7XwcUX5Ck+D2mtfhwz yHw5pJqijJkFWpS34LDQSNfllP2KcW2VFknX5bhN1eS1THeYd55ke5xbZUn8N9xd5/v1GLi+UgiU r5ZwX1PEE4MWvk0e67tiBqPjjgDK5YdA1d4PJO6ATd47dTTkllP5GRj0tHYJiHVzTH8bUPBlJ7Wr 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 --f403045e1d90211ef70554b068a4--