[jira] [Work logged] (BEAM-7623) Support select MAP with Row as values

2019-10-02 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/BEAM-7623?focusedWorklogId=322165&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-322165
 ]

ASF GitHub Bot logged work on BEAM-7623:


Author: ASF GitHub Bot
Created on: 02/Oct/19 19:13
Start Date: 02/Oct/19 19:13
Worklog Time Spent: 10m 
  Work Description: amaliujia commented on issue #9701: [BEAM-7623] UT for 
BeamSql DDL with map field having row as value
URL: https://github.com/apache/beam/pull/9701#issuecomment-537638288
 
 
   LGTM
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 322165)
Time Spent: 1h  (was: 50m)

> Support select MAP with Row as values
> -
>
> Key: BEAM-7623
> URL: https://issues.apache.org/jira/browse/BEAM-7623
> Project: Beam
>  Issue Type: Improvement
>  Components: dsl-sql
>Reporter: Rui Wang
>Priority: Major
> Fix For: Not applicable
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> {code}
>  Schema primitiveFieldsScema = 
> Schema.builder().addStringField("color").build();
> Schema inputSchema = 
> Schema.builder().addMapField("mapWithValueAsRow", FieldType.STRING, 
> FieldType.row(primitiveFieldsScema)).build();  
> Map mapWithValueAsRow = new HashMap<>();
> Row row = 
> Row.withSchema(primitiveFieldsScema).addValue("RED").build();
> mapWithValueAsRow.put("key", row);
> 
> Row rowOfMap = 
> Row.withSchema(inputSchema).addValue(mapWithValueAsRow).build();
> 
> Query used:
>select  PCOLLECTION.mapWithValueAsRow['key'].color as color  
> from PCOLLECTION
> {code}
> With exception:
> {code}
> java.lang.RuntimeException: CalcFn failed to evaluate: {
>   final java.util.Map inp0_ = ((org.apache.beam.sdk.values.Row) 
> c.element()).getMap(0);
>   
> c.output(org.apache.beam.sdk.values.Row.withSchema(outputSchema).addValue(org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.mapItemOptional(inp0_,
>  "key") == null ? (String) null : (String) 
> org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.structAccess(org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.mapItemOptional(inp0_,
>  "key"), 0, "color")).build());
> }
> org.apache.beam.sdk.Pipeline$PipelineExecutionException: 
> java.lang.RuntimeException: CalcFn failed to evaluate: {
>   final java.util.Map inp0_ = ((org.apache.beam.sdk.values.Row) 
> c.element()).getMap(0);
>   
> c.output(org.apache.beam.sdk.values.Row.withSchema(outputSchema).addValue(org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.mapItemOptional(inp0_,
>  "key") == null ? (String) null : (String) 
> org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.structAccess(org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.mapItemOptional(inp0_,
>  "key"), 0, "color")).build());
> }
>   at 
> org.apache.beam.runners.direct.DirectRunner$DirectPipelineResult.waitUntilFinish(DirectRunner.java:348)
>   at 
> org.apache.beam.runners.direct.DirectRunner$DirectPipelineResult.waitUntilFinish(DirectRunner.java:318)
>   at 
> org.apache.beam.runners.direct.DirectRunner.run(DirectRunner.java:213)
>   at org.apache.beam.runners.direct.DirectRunner.run(DirectRunner.java:67)
>   at org.apache.beam.sdk.Pipeline.run(Pipeline.java:313)
>   at org.apache.beam.sdk.testing.TestPipeline.run(TestPipeline.java:350)
>   at org.apache.beam.sdk.testing.TestPipeline.run(TestPipeline.java:331)
>   at 
> org.apache.beam.sdk.extensions.sql.BeamSqlMapTest.testAccessMapElementWithRowValue(BeamSqlMapTest.java:155)
>   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:498)
>   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
>   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
>   at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>   at 
> org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:265)
>   a

[jira] [Work logged] (BEAM-7623) Support select MAP with Row as values

2019-10-02 Thread ASF GitHub Bot (Jira)


 [ 
https://issues.apache.org/jira/browse/BEAM-7623?focusedWorklogId=322157&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-322157
 ]

ASF GitHub Bot logged work on BEAM-7623:


Author: ASF GitHub Bot
Created on: 02/Oct/19 18:59
Start Date: 02/Oct/19 18:59
Worklog Time Spent: 10m 
  Work Description: apilloud commented on pull request #9701: [BEAM-7623] 
UT for BeamSql DDL with map field having row as value
URL: https://github.com/apache/beam/pull/9701
 
 
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 322157)
Time Spent: 50m  (was: 40m)

> Support select MAP with Row as values
> -
>
> Key: BEAM-7623
> URL: https://issues.apache.org/jira/browse/BEAM-7623
> Project: Beam
>  Issue Type: Improvement
>  Components: dsl-sql
>Reporter: Rui Wang
>Priority: Major
> Fix For: Not applicable
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> {code}
>  Schema primitiveFieldsScema = 
> Schema.builder().addStringField("color").build();
> Schema inputSchema = 
> Schema.builder().addMapField("mapWithValueAsRow", FieldType.STRING, 
> FieldType.row(primitiveFieldsScema)).build();  
> Map mapWithValueAsRow = new HashMap<>();
> Row row = 
> Row.withSchema(primitiveFieldsScema).addValue("RED").build();
> mapWithValueAsRow.put("key", row);
> 
> Row rowOfMap = 
> Row.withSchema(inputSchema).addValue(mapWithValueAsRow).build();
> 
> Query used:
>select  PCOLLECTION.mapWithValueAsRow['key'].color as color  
> from PCOLLECTION
> {code}
> With exception:
> {code}
> java.lang.RuntimeException: CalcFn failed to evaluate: {
>   final java.util.Map inp0_ = ((org.apache.beam.sdk.values.Row) 
> c.element()).getMap(0);
>   
> c.output(org.apache.beam.sdk.values.Row.withSchema(outputSchema).addValue(org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.mapItemOptional(inp0_,
>  "key") == null ? (String) null : (String) 
> org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.structAccess(org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.mapItemOptional(inp0_,
>  "key"), 0, "color")).build());
> }
> org.apache.beam.sdk.Pipeline$PipelineExecutionException: 
> java.lang.RuntimeException: CalcFn failed to evaluate: {
>   final java.util.Map inp0_ = ((org.apache.beam.sdk.values.Row) 
> c.element()).getMap(0);
>   
> c.output(org.apache.beam.sdk.values.Row.withSchema(outputSchema).addValue(org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.mapItemOptional(inp0_,
>  "key") == null ? (String) null : (String) 
> org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.structAccess(org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.mapItemOptional(inp0_,
>  "key"), 0, "color")).build());
> }
>   at 
> org.apache.beam.runners.direct.DirectRunner$DirectPipelineResult.waitUntilFinish(DirectRunner.java:348)
>   at 
> org.apache.beam.runners.direct.DirectRunner$DirectPipelineResult.waitUntilFinish(DirectRunner.java:318)
>   at 
> org.apache.beam.runners.direct.DirectRunner.run(DirectRunner.java:213)
>   at org.apache.beam.runners.direct.DirectRunner.run(DirectRunner.java:67)
>   at org.apache.beam.sdk.Pipeline.run(Pipeline.java:313)
>   at org.apache.beam.sdk.testing.TestPipeline.run(TestPipeline.java:350)
>   at org.apache.beam.sdk.testing.TestPipeline.run(TestPipeline.java:331)
>   at 
> org.apache.beam.sdk.extensions.sql.BeamSqlMapTest.testAccessMapElementWithRowValue(BeamSqlMapTest.java:155)
>   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:498)
>   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
>   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
>   at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>   at 
> org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:265)
>   at 
> org.apache.bea

[jira] [Work logged] (BEAM-7623) Support select MAP with Row as values

2019-07-29 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/BEAM-7623?focusedWorklogId=28&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-28
 ]

ASF GitHub Bot logged work on BEAM-7623:


Author: ASF GitHub Bot
Created on: 29/Jul/19 17:46
Start Date: 29/Jul/19 17:46
Worklog Time Spent: 10m 
  Work Description: akedin commented on pull request #9181: [BEAM-7623] Add 
support to select MAP with Row as values in Beam SQL
URL: https://github.com/apache/beam/pull/9181#discussion_r308354590
 
 

 ##
 File path: 
sdks/java/extensions/sql/src/test/java/org/apache/beam/sdk/extensions/sql/BeamComplexTypeTest.java
 ##
 @@ -430,4 +432,81 @@ public void testNullDatetimeFields() {
 
 pipeline.run().waitUntilFinish(Duration.standardMinutes(2));
   }
+
+  @Test
+  public void testMapWithRowAsValue() {
+
+Schema inputSchema =
+Schema.builder()
+.addMapField("mapWithValueAsRow", FieldType.STRING, 
FieldType.row(rowWithArraySchema))
+.build();
+
+Map mapWithValueAsRow = new HashMap<>();
+Row complexRow =
+Row.withSchema(rowWithArraySchema)
+.addValues("RED", 5L, Arrays.asList(10L, 20L, 30L))
+.build();
+mapWithValueAsRow.put("key", complexRow);
+
+Row rowOfMap = 
Row.withSchema(inputSchema).addValue(mapWithValueAsRow).build();
+
+PCollection outputRow =
+pipeline
+.apply(Create.of(rowOfMap))
+.setRowSchema(inputSchema)
+.apply(
+SqlTransform.query(
+"select  PCOLLECTION.mapWithValueAsRow['key'].field1 as 
color, PCOLLECTION.mapWithValueAsRow['key'].field3[2]  as num   from 
PCOLLECTION"));
+
+Row expectedRow =
+
Row.withSchema(Schema.builder().addStringField("color").addInt64Field("num").build())
+.addValues("RED", 20L)
+.build();
+
+PAssert.that(outputRow).containsInAnyOrder(expectedRow);
+pipeline.run().waitUntilFinish(Duration.standardMinutes(1));
+  }
+
+  @Test
+  public void testMapWithNullRowFields() {
+
+Schema nullableInnerSchema =
+Schema.builder()
+.addNullableField("strField", FieldType.STRING)
+.addNullableField("arrField", FieldType.array(FieldType.INT64))
+.build();
+Schema inputSchema =
+Schema.builder()
+.addMapField("mapField", FieldType.STRING, 
FieldType.row(nullableInnerSchema))
+.addNullableField(
+"nullableMapField",
+FieldType.map(FieldType.STRING, 
FieldType.row(nullableInnerSchema)))
+.build();
+
+Row mapValue = Row.withSchema(nullableInnerSchema).addValues("str", 
null).build();
+Map mapWithValueAsRow = new HashMap<>();
+mapWithValueAsRow.put("key", mapValue);
+
+Row inputRow = Row.withSchema(inputSchema).addValues(mapWithValueAsRow, 
null).build();
+
+PCollection outputRow =
+pipeline
+.apply(Create.of(inputRow))
+.setRowSchema(inputSchema)
+.apply(
+SqlTransform.query(
+"select PCOLLECTION.mapField['key'].strField as str, 
PCOLLECTION.mapField['key'].arrField[1] as arr, 
PCOLLECTION.nullableMapField['key'].arrField[1] as nullableField  from 
PCOLLECTION"));
 
 Review comment:
   I think the queries need comments at this level of complexity, it's hard to 
decipher what is returned in which sub-expression.
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 28)
Time Spent: 0.5h  (was: 20m)

> Support select MAP with Row as values
> -
>
> Key: BEAM-7623
> URL: https://issues.apache.org/jira/browse/BEAM-7623
> Project: Beam
>  Issue Type: Improvement
>  Components: dsl-sql
>Reporter: Rui Wang
>Priority: Major
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> {code}
>  Schema primitiveFieldsScema = 
> Schema.builder().addStringField("color").build();
> Schema inputSchema = 
> Schema.builder().addMapField("mapWithValueAsRow", FieldType.STRING, 
> FieldType.row(primitiveFieldsScema)).build();  
> Map mapWithValueAsRow = new HashMap<>();
> Row row = 
> Row.withSchema(primitiveFieldsScema).addValue("RED").build();
> mapWithValueAsRow.put("key", row);
> 
> Row rowOfMap = 
> Row.withSchema(inputSchema).addValue(mapWithValueAsRow).build();
> 
> Query used:
>select  PCOLLECTION.mapWithValueAsRow[

[jira] [Work logged] (BEAM-7623) Support select MAP with Row as values

2019-07-29 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/BEAM-7623?focusedWorklogId=284445&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-284445
 ]

ASF GitHub Bot logged work on BEAM-7623:


Author: ASF GitHub Bot
Created on: 29/Jul/19 17:46
Start Date: 29/Jul/19 17:46
Worklog Time Spent: 10m 
  Work Description: akedin commented on pull request #9181: [BEAM-7623] Add 
support to select MAP with Row as values in Beam SQL
URL: https://github.com/apache/beam/pull/9181
 
 
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 284445)
Time Spent: 40m  (was: 0.5h)

> Support select MAP with Row as values
> -
>
> Key: BEAM-7623
> URL: https://issues.apache.org/jira/browse/BEAM-7623
> Project: Beam
>  Issue Type: Improvement
>  Components: dsl-sql
>Reporter: Rui Wang
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> {code}
>  Schema primitiveFieldsScema = 
> Schema.builder().addStringField("color").build();
> Schema inputSchema = 
> Schema.builder().addMapField("mapWithValueAsRow", FieldType.STRING, 
> FieldType.row(primitiveFieldsScema)).build();  
> Map mapWithValueAsRow = new HashMap<>();
> Row row = 
> Row.withSchema(primitiveFieldsScema).addValue("RED").build();
> mapWithValueAsRow.put("key", row);
> 
> Row rowOfMap = 
> Row.withSchema(inputSchema).addValue(mapWithValueAsRow).build();
> 
> Query used:
>select  PCOLLECTION.mapWithValueAsRow['key'].color as color  
> from PCOLLECTION
> {code}
> With exception:
> {code}
> java.lang.RuntimeException: CalcFn failed to evaluate: {
>   final java.util.Map inp0_ = ((org.apache.beam.sdk.values.Row) 
> c.element()).getMap(0);
>   
> c.output(org.apache.beam.sdk.values.Row.withSchema(outputSchema).addValue(org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.mapItemOptional(inp0_,
>  "key") == null ? (String) null : (String) 
> org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.structAccess(org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.mapItemOptional(inp0_,
>  "key"), 0, "color")).build());
> }
> org.apache.beam.sdk.Pipeline$PipelineExecutionException: 
> java.lang.RuntimeException: CalcFn failed to evaluate: {
>   final java.util.Map inp0_ = ((org.apache.beam.sdk.values.Row) 
> c.element()).getMap(0);
>   
> c.output(org.apache.beam.sdk.values.Row.withSchema(outputSchema).addValue(org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.mapItemOptional(inp0_,
>  "key") == null ? (String) null : (String) 
> org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.structAccess(org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.mapItemOptional(inp0_,
>  "key"), 0, "color")).build());
> }
>   at 
> org.apache.beam.runners.direct.DirectRunner$DirectPipelineResult.waitUntilFinish(DirectRunner.java:348)
>   at 
> org.apache.beam.runners.direct.DirectRunner$DirectPipelineResult.waitUntilFinish(DirectRunner.java:318)
>   at 
> org.apache.beam.runners.direct.DirectRunner.run(DirectRunner.java:213)
>   at org.apache.beam.runners.direct.DirectRunner.run(DirectRunner.java:67)
>   at org.apache.beam.sdk.Pipeline.run(Pipeline.java:313)
>   at org.apache.beam.sdk.testing.TestPipeline.run(TestPipeline.java:350)
>   at org.apache.beam.sdk.testing.TestPipeline.run(TestPipeline.java:331)
>   at 
> org.apache.beam.sdk.extensions.sql.BeamSqlMapTest.testAccessMapElementWithRowValue(BeamSqlMapTest.java:155)
>   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:498)
>   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
>   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
>   at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>   at 
> org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:265)
>   at 
> org.apache.beam.sdk.testing.TestPipeline$1.evaluate(

[jira] [Work logged] (BEAM-7623) Support select MAP with Row as values

2019-07-29 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/BEAM-7623?focusedWorklogId=284424&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-284424
 ]

ASF GitHub Bot logged work on BEAM-7623:


Author: ASF GitHub Bot
Created on: 29/Jul/19 17:05
Start Date: 29/Jul/19 17:05
Worklog Time Spent: 10m 
  Work Description: amaliujia commented on issue #9181: [BEAM-7623] Add 
support to select MAP with Row as values in Beam SQL
URL: https://github.com/apache/beam/pull/9181#issuecomment-516076732
 
 
   LGTM
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 284424)
Time Spent: 20m  (was: 10m)

> Support select MAP with Row as values
> -
>
> Key: BEAM-7623
> URL: https://issues.apache.org/jira/browse/BEAM-7623
> Project: Beam
>  Issue Type: Improvement
>  Components: dsl-sql
>Reporter: Rui Wang
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> {code}
>  Schema primitiveFieldsScema = 
> Schema.builder().addStringField("color").build();
> Schema inputSchema = 
> Schema.builder().addMapField("mapWithValueAsRow", FieldType.STRING, 
> FieldType.row(primitiveFieldsScema)).build();  
> Map mapWithValueAsRow = new HashMap<>();
> Row row = 
> Row.withSchema(primitiveFieldsScema).addValue("RED").build();
> mapWithValueAsRow.put("key", row);
> 
> Row rowOfMap = 
> Row.withSchema(inputSchema).addValue(mapWithValueAsRow).build();
> 
> Query used:
>select  PCOLLECTION.mapWithValueAsRow['key'].color as color  
> from PCOLLECTION
> {code}
> With exception:
> {code}
> java.lang.RuntimeException: CalcFn failed to evaluate: {
>   final java.util.Map inp0_ = ((org.apache.beam.sdk.values.Row) 
> c.element()).getMap(0);
>   
> c.output(org.apache.beam.sdk.values.Row.withSchema(outputSchema).addValue(org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.mapItemOptional(inp0_,
>  "key") == null ? (String) null : (String) 
> org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.structAccess(org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.mapItemOptional(inp0_,
>  "key"), 0, "color")).build());
> }
> org.apache.beam.sdk.Pipeline$PipelineExecutionException: 
> java.lang.RuntimeException: CalcFn failed to evaluate: {
>   final java.util.Map inp0_ = ((org.apache.beam.sdk.values.Row) 
> c.element()).getMap(0);
>   
> c.output(org.apache.beam.sdk.values.Row.withSchema(outputSchema).addValue(org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.mapItemOptional(inp0_,
>  "key") == null ? (String) null : (String) 
> org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.structAccess(org.apache.beam.repackaged.sql.org.apache.calcite.runtime.SqlFunctions.mapItemOptional(inp0_,
>  "key"), 0, "color")).build());
> }
>   at 
> org.apache.beam.runners.direct.DirectRunner$DirectPipelineResult.waitUntilFinish(DirectRunner.java:348)
>   at 
> org.apache.beam.runners.direct.DirectRunner$DirectPipelineResult.waitUntilFinish(DirectRunner.java:318)
>   at 
> org.apache.beam.runners.direct.DirectRunner.run(DirectRunner.java:213)
>   at org.apache.beam.runners.direct.DirectRunner.run(DirectRunner.java:67)
>   at org.apache.beam.sdk.Pipeline.run(Pipeline.java:313)
>   at org.apache.beam.sdk.testing.TestPipeline.run(TestPipeline.java:350)
>   at org.apache.beam.sdk.testing.TestPipeline.run(TestPipeline.java:331)
>   at 
> org.apache.beam.sdk.extensions.sql.BeamSqlMapTest.testAccessMapElementWithRowValue(BeamSqlMapTest.java:155)
>   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:498)
>   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
>   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
>   at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>   at 
> org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:265)
>   at 
> org.apache.beam.sdk.testing.Te

[jira] [Work logged] (BEAM-7623) Support select MAP with Row as values

2019-07-29 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/BEAM-7623?focusedWorklogId=284223&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-284223
 ]

ASF GitHub Bot logged work on BEAM-7623:


Author: ASF GitHub Bot
Created on: 29/Jul/19 12:29
Start Date: 29/Jul/19 12:29
Worklog Time Spent: 10m 
  Work Description: bmv126 commented on pull request #9181: [BEAM-7623] Add 
support to select MAP with Row as values in Beam SQL
URL: https://github.com/apache/beam/pull/9181
 
 
   Currently Beam sql doesn't work well with Map having values of type Row (i.e 
Map)
   An exception is thrown when trying to access a field inside the Map's Row 
value.

   Jira: https://issues.apache.org/jira/browse/BEAM-7623
   
   As part of this, support is added to handle map with Row as values. 
   
   R: @apilloud  R: @akedin  R: @amaliujia 
   
   
   Thank you for your contribution! Follow this checklist to help us 
incorporate your contribution quickly and easily:
   
- [ ] [**Choose 
reviewer(s)**](https://beam.apache.org/contribute/#make-your-change) and 
mention them in a comment (`R: @username`).
- [ ] Format the pull request title like `[BEAM-XXX] Fixes bug in 
ApproximateQuantiles`, where you replace `BEAM-XXX` with the appropriate JIRA 
issue, if applicable. This will automatically link the pull request to the 
issue.
- [ ] If this contribution is large, please file an Apache [Individual 
Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
   
   Post-Commit Tests Status (on master branch)
   

   
   Lang | SDK | Apex | Dataflow | Flink | Gearpump | Samza | Spark
   --- | --- | --- | --- | --- | --- | --- | ---
   Go | [![Build 
Status](https://builds.apache.org/job/beam_PostCommit_Go/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Go/lastCompletedBuild/)
 | --- | --- | [![Build 
Status](https://builds.apache.org/job/beam_PostCommit_Go_VR_Flink/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Go_VR_Flink/lastCompletedBuild/)
 | --- | --- | [![Build 
Status](https://builds.apache.org/job/beam_PostCommit_Go_VR_Spark/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Go_VR_Spark/lastCompletedBuild/)
   Java | [![Build 
Status](https://builds.apache.org/job/beam_PostCommit_Java/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java/lastCompletedBuild/)
 | [![Build 
Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Apex/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Apex/lastCompletedBuild/)
 | [![Build 
Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Dataflow/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Dataflow/lastCompletedBuild/)
 | [![Build 
Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Flink/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Flink/lastCompletedBuild/)[![Build
 
Status](https://builds.apache.org/job/beam_PostCommit_Java_PVR_Flink_Batch/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_PVR_Flink_Batch/lastCompletedBuild/)[![Build
 
Status](https://builds.apache.org/job/beam_PostCommit_Java_PVR_Flink_Streaming/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_PVR_Flink_Streaming/lastCompletedBuild/)
 | [![Build 
Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Gearpump/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Gearpump/lastCompletedBuild/)
 | [![Build 
Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Samza/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Samza/lastCompletedBuild/)
 | [![Build 
Status](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Spark/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Spark/lastCompletedBuild/)[![Build
 
Status](https://builds.apache.org/job/beam_PostCommit_Java_PVR_Spark_Batch/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Java_PVR_Spark_Batch/lastCompletedBuild/)
   Python | [![Build 
Status](https://builds.apache.org/job/beam_PostCommit_Python2/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Python2/lastCompletedBuild/)[![Build
 
Status](https://builds.apache.org/job/beam_PostCommit_Python35/lastCompletedBuild/badge/icon)](https://builds.apache.org/job/beam_PostCommit_Python35/lastCompletedBuild/)[![Build
 
Status]