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 564EA200B5B for ; Thu, 21 Jul 2016 15:23:22 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 537A3160A6D; Thu, 21 Jul 2016 13:23:22 +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 AB7B7160A87 for ; Thu, 21 Jul 2016 15:23:21 +0200 (CEST) Received: (qmail 47143 invoked by uid 500); 21 Jul 2016 13:23:20 -0000 Mailing-List: contact dev-help@flink.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flink.apache.org Delivered-To: mailing list dev@flink.apache.org Received: (qmail 47125 invoked by uid 99); 21 Jul 2016 13:23:20 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Jul 2016 13:23:20 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 90DDF2C0D59 for ; Thu, 21 Jul 2016 13:23:20 +0000 (UTC) Date: Thu, 21 Jul 2016 13:23:20 +0000 (UTC) From: "Till Rohrmann (JIRA)" To: dev@flink.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (FLINK-4240) Cannot use expressions in Scala Table API's groupBy method MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Thu, 21 Jul 2016 13:23:22 -0000 Till Rohrmann created FLINK-4240: ------------------------------------ Summary: Cannot use expressions in Scala Table API's groupBy method Key: FLINK-4240 URL: https://issues.apache.org/jira/browse/FLINK-4240 Project: Flink Issue Type: Bug Components: Table API & SQL Affects Versions: 1.1.0 Reporter: Till Rohrmann The following code fails even though it should be supported according to the documentation: {code} package com.dataartisans.batch import org.apache.flink.api.scala._ import org.apache.flink.api.scala.table._ import org.apache.flink.api.table.{Row, TableConfig, TableEnvironment} object ScalaSimpleTableAPIJob { def main(args: Array[String]): Unit = { val env = ExecutionEnvironment.getExecutionEnvironment val tblConfig = new TableConfig val tblEnv = TableEnvironment.getTableEnvironment(env, tblConfig) val input1Seq = 0 until 10 map {x => (x, ('a' + x).toChar.toString, x.toDouble)} val inputDS1 = env.fromCollection(input1Seq) val input1 = tblEnv.fromDataSet(inputDS1, 'a, 'b, 'c) // fails with org.apache.flink.api.table.ValidationException: cannot resolve [a] given input [('a % 4)] val tblResult = input1.groupBy('a % 4).select('a); val result = tblEnv.toDataSet[Row](tblResult) result.print() } } {code} {code} Exception in thread "main" org.apache.flink.api.table.ValidationException: cannot resolve [a] given input [('a % 4)] at org.apache.flink.api.table.plan.logical.LogicalNode.failValidation(LogicalNode.scala:143) at org.apache.flink.api.table.plan.logical.LogicalNode$$anonfun$validate$1.applyOrElse(LogicalNode.scala:87) at org.apache.flink.api.table.plan.logical.LogicalNode$$anonfun$validate$1.applyOrElse(LogicalNode.scala:84) at org.apache.flink.api.table.trees.TreeNode.postOrderTransform(TreeNode.scala:72) at org.apache.flink.api.table.plan.logical.LogicalNode.org$apache$flink$api$table$plan$logical$LogicalNode$$expressionPostOrderTransform$1(LogicalNode.scala:120) at org.apache.flink.api.table.plan.logical.LogicalNode$$anonfun$7$$anonfun$apply$1.apply(LogicalNode.scala:133) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47) at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) at scala.collection.AbstractTraversable.map(Traversable.scala:105) at org.apache.flink.api.table.plan.logical.LogicalNode$$anonfun$7.apply(LogicalNode.scala:132) at scala.collection.Iterator$$anon$11.next(Iterator.scala:328) at scala.collection.Iterator$class.foreach(Iterator.scala:727) at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) at scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:48) at scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:103) at scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:47) at scala.collection.TraversableOnce$class.to(TraversableOnce.scala:273) at scala.collection.AbstractIterator.to(Iterator.scala:1157) at scala.collection.TraversableOnce$class.toBuffer(TraversableOnce.scala:265) at scala.collection.AbstractIterator.toBuffer(Iterator.scala:1157) at scala.collection.TraversableOnce$class.toArray(TraversableOnce.scala:252) at scala.collection.AbstractIterator.toArray(Iterator.scala:1157) at org.apache.flink.api.table.plan.logical.LogicalNode.expressionPostOrderTransform(LogicalNode.scala:137) at org.apache.flink.api.table.plan.logical.LogicalNode.validate(LogicalNode.scala:84) at org.apache.flink.api.table.plan.logical.Project.validate(operators.scala:57) at org.apache.flink.api.table.GroupedTable.select(table.scala:631) at com.dataartisans.batch.ScalaSimpleTableAPIJob$.main(ScalaSimpleTableAPIJob.scala:26) at com.dataartisans.batch.ScalaSimpleTableAPIJob.main(ScalaSimpleTableAPIJob.scala) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)