in org.apache.flink.api.table.plan.PlanTranslator.
val inputType = set.getType().asInstanceOf[CompositeType[A]]
if (!inputType.hasDeterministicFieldOrder && checkDeterministicFields) {
throw new ExpressionException(s"You cannot rename fields upon Table
creation: " +
s"Field order of input type $inputType is not deterministic." )
}
when A is a PojoType, hasDeterministicFieldOrder always returns false.
what shall I do using Pojo.
Thanks.
> On Aug 1, 2016, at 6:11 PM, Dong-iL, Kim <[email protected]> wrote:
>
> I’ve tried like this, but not work.
>
> dataSet.as(‘id as ‘id, ‘amount as ‘amount)
>
> dataSet.as(‘id, ‘amount)
>
> dataSet.as(“id, amount”)
>
> thanks.
>
>> On Aug 1, 2016, at 6:03 PM, Timo Walther <[email protected]> wrote:
>>
>> I think you need to use ".as()" instead of "toTable()" to supply the field
>> order.
>>
>> Am 01/08/16 um 10:56 schrieb Dong-iL, Kim:
>>> Hi Timo.
>>> I’m using scala API.
>>> There is no error with java API.
>>> my code snippet is this.
>>>
>>> dataSet.toTable
>>> .groupBy(“id")
>>> .select(‘id, ‘amount.sum as ‘amount)
>>> .where(‘amount > 0)
>>> .toDataSet[TestPojo]
>>> .print()
>>>
>>> Thanks.
>>>
>>>> On Aug 1, 2016, at 5:50 PM, Timo Walther <[email protected]> wrote:
>>>>
>>>> Hi Kim,
>>>>
>>>> as the exception says: POJOs have no deterministic field order. You have
>>>> to specify the order during the DataSet to Table conversion:
>>>>
>>>> Table table = tableEnv.fromDataSet(pojoDataSet, "pojoField as a,
>>>> pojoField2 as b");
>>>>
>>>> I hope that helps. Otherwise it would help if you could supply a code
>>>> snippet of your program.
>>>>
>>>> Timo
>>>>
>>>> Am 01/08/16 um 10:19 schrieb Dong-iL, Kim:
>>>>> my flink ver is 1.0.3.
>>>>> thanks.
>>>>>
>>>>>> On Aug 1, 2016, at 5:18 PM, Dong-iL, Kim <[email protected]> wrote:
>>>>>>
>>>>>> I’ve create a program using table API and get an exception like this.
>>>>>> org.apache.flink.api.table.ExpressionException: You cannot rename fields
>>>>>> upon Table creation: Field order of input type PojoType<….> is not
>>>>>> deterministic.
>>>>>> There is an error not in java program, but in scala program.
>>>>>> how can I use java POJO with scala Table API.
>>>>>>
>>>>
>>>> --
>>>> Freundliche Grüße / Kind Regards
>>>>
>>>> Timo Walther
>>>>
>>>> Follow me: @twalthr
>>>> https://www.linkedin.com/in/twalthr
>>>>
>>
>>
>> --
>> Freundliche Grüße / Kind Regards
>>
>> Timo Walther
>>
>> Follow me: @twalthr
>> https://www.linkedin.com/in/twalthr
>>
>