[
https://issues.apache.org/jira/browse/CARBONDATA-3815?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Venugopal Reddy K updated CARBONDATA-3815:
------------------------------------------
Description:
*Issue:*
Insert into table select from another table throws exception for spatial
tables. NoSuchElementException exception is thrown with 'mygeohash' column.
{color:#ff0000}Exception in thread "main" java.util.NoSuchElementException: key
not found: mygeohashException in thread "main"
java.util.NoSuchElementException: key not found: mygeohash at
scala.collection.MapLike$class.default(MapLike.scala:228) at
scala.collection.AbstractMap.default(Map.scala:59) at
scala.collection.mutable.HashMap.apply(HashMap.scala:65) at
org.apache.spark.sql.execution.command.management.CarbonInsertIntoCommand$$anonfun$getReArrangedIndexAndSelectedSchema$5.apply(CarbonInsertIntoCommand.scala:504)
at
org.apache.spark.sql.execution.command.management.CarbonInsertIntoCommand$$anonfun$getReArrangedIndexAndSelectedSchema$5.apply(CarbonInsertIntoCommand.scala:497)
at
scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48) at
org.apache.spark.sql.execution.command.management.CarbonInsertIntoCommand.getReArrangedIndexAndSelectedSchema(CarbonInsertIntoCommand.scala:496)
at
org.apache.spark.sql.execution.command.management.CarbonInsertIntoCommand.processData(CarbonInsertIntoCommand.scala:164){color}
*Step to reproduce:*
# Create source table and target table spatial tables.
# Load data to source table.
# Insert into target table select from source table.
*TestCase:*
| spark.sql(s"""
|CREATE TABLE source(|
|timevalue BIGINT,|
|longitude LONG,|
|latitude LONG) COMMENT "This is a GeoTable"|
|STORED AS carbondata|
|TBLPROPERTIES ('INDEX_HANDLER'='mygeohash',|
|'INDEX_HANDLER.mygeohash.type'='geohash',|
|'INDEX_HANDLER.mygeohash.sourcecolumns'='longitude, latitude',|
|'INDEX_HANDLER.mygeohash.originLatitude'='39.832277',|
|'INDEX_HANDLER.mygeohash.gridSize'='50',|
|'INDEX_HANDLER.mygeohash.minLongitude'='115.811865',|
|'INDEX_HANDLER.mygeohash.maxLongitude'='116.782233',|
|'INDEX_HANDLER.mygeohash.minLatitude'='39.832277',|
|'INDEX_HANDLER.mygeohash.maxLatitude'='40.225281',|
|'INDEX_HANDLER.mygeohash.conversionRatio'='1000000')
""".stripMargin)
val path = s"$rootPath/examples/spark/src/main/resources/geodata.csv"|
spark.sql(
s"""
|LOAD DATA LOCAL INPATH '$path'|
|INTO TABLE source|
|OPTIONS('COMPLEX_DELIMITER_LEVEL_1'='#')
""".stripMargin)|
spark.sql(s"""
|CREATE TABLE target(|
|timevalue BIGINT,|
|longitude LONG,|
|latitude LONG) COMMENT "This is a GeoTable"|
|STORED AS carbondata|
|TBLPROPERTIES ('INDEX_HANDLER'='mygeohash',|
|'INDEX_HANDLER.mygeohash.type'='geohash',|
|'INDEX_HANDLER.mygeohash.sourcecolumns'='longitude, latitude',|
|'INDEX_HANDLER.mygeohash.originLatitude'='39.832277',|
|'INDEX_HANDLER.mygeohash.gridSize'='50',|
|'INDEX_HANDLER.mygeohash.minLongitude'='115.811865',|
|'INDEX_HANDLER.mygeohash.maxLongitude'='116.782233',|
|'INDEX_HANDLER.mygeohash.minLatitude'='39.832277',|
|'INDEX_HANDLER.mygeohash.maxLatitude'='40.225281',|
|'INDEX_HANDLER.mygeohash.conversionRatio'='1000000')
""".stripMargin)
spark.sql("insert into target select * from source")|
was:
*Issue:*
Insert into table select from another table throws exception for spatial
tables. NoSuchElementException exception is thrown with 'mygeohash' column.
{color:#FF0000}Exception in thread "main" java.util.NoSuchElementException: key
not found: mygeohashException in thread "main"
java.util.NoSuchElementException: key not found: mygeohash at
scala.collection.MapLike$class.default(MapLike.scala:228) at
scala.collection.AbstractMap.default(Map.scala:59) at
scala.collection.mutable.HashMap.apply(HashMap.scala:65) at
org.apache.spark.sql.execution.command.management.CarbonInsertIntoCommand$$anonfun$getReArrangedIndexAndSelectedSchema$5.apply(CarbonInsertIntoCommand.scala:504)
at
org.apache.spark.sql.execution.command.management.CarbonInsertIntoCommand$$anonfun$getReArrangedIndexAndSelectedSchema$5.apply(CarbonInsertIntoCommand.scala:497)
at
scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48) at
org.apache.spark.sql.execution.command.management.CarbonInsertIntoCommand.getReArrangedIndexAndSelectedSchema(CarbonInsertIntoCommand.scala:496)
at
org.apache.spark.sql.execution.command.management.CarbonInsertIntoCommand.processData(CarbonInsertIntoCommand.scala:164){color}
*Step to reproduce:*
# Create source table and target table spatial tables.
# Load data to source table.
# Insert into target table select from source table.
*TestCase:*
spark.sql(s"""
| CREATE TABLE source(
| timevalue BIGINT,
| longitude LONG,
| latitude LONG) COMMENT "This is a GeoTable"
| STORED AS carbondata
| TBLPROPERTIES ('INDEX_HANDLER'='mygeohash',
| 'INDEX_HANDLER.mygeohash.type'='geohash',
| 'INDEX_HANDLER.mygeohash.sourcecolumns'='longitude, latitude',
| 'INDEX_HANDLER.mygeohash.originLatitude'='39.832277',
| 'INDEX_HANDLER.mygeohash.gridSize'='50',
| 'INDEX_HANDLER.mygeohash.minLongitude'='115.811865',
| 'INDEX_HANDLER.mygeohash.maxLongitude'='116.782233',
| 'INDEX_HANDLER.mygeohash.minLatitude'='39.832277',
| 'INDEX_HANDLER.mygeohash.maxLatitude'='40.225281',
| 'INDEX_HANDLER.mygeohash.conversionRatio'='1000000')
""".stripMargin)
val path = s"$rootPath/examples/spark/src/main/resources/geodata.csv"
// scalastyle:off
spark.sql(
s"""
| LOAD DATA LOCAL INPATH '$path'
| INTO TABLE source
| OPTIONS('COMPLEX_DELIMITER_LEVEL_1'='#')
""".stripMargin)
spark.sql(s"""
| CREATE TABLE target(
| timevalue BIGINT,
| longitude LONG,
| latitude LONG) COMMENT "This is a GeoTable"
| STORED AS carbondata
| TBLPROPERTIES ('INDEX_HANDLER'='mygeohash',
| 'INDEX_HANDLER.mygeohash.type'='geohash',
| 'INDEX_HANDLER.mygeohash.sourcecolumns'='longitude, latitude',
| 'INDEX_HANDLER.mygeohash.originLatitude'='39.832277',
| 'INDEX_HANDLER.mygeohash.gridSize'='50',
| 'INDEX_HANDLER.mygeohash.minLongitude'='115.811865',
| 'INDEX_HANDLER.mygeohash.maxLongitude'='116.782233',
| 'INDEX_HANDLER.mygeohash.minLatitude'='39.832277',
| 'INDEX_HANDLER.mygeohash.maxLatitude'='40.225281',
| 'INDEX_HANDLER.mygeohash.conversionRatio'='1000000')
""".stripMargin)
spark.sql("insert into target select * from source")
> Insert into table select from another table throws exception for spatial
> tables
> -------------------------------------------------------------------------------
>
> Key: CARBONDATA-3815
> URL: https://issues.apache.org/jira/browse/CARBONDATA-3815
> Project: CarbonData
> Issue Type: Bug
> Components: core, spark-integration
> Affects Versions: 2.0.0
> Reporter: Venugopal Reddy K
> Priority: Major
>
> *Issue:*
> Insert into table select from another table throws exception for spatial
> tables. NoSuchElementException exception is thrown with 'mygeohash' column.
> {color:#ff0000}Exception in thread "main" java.util.NoSuchElementException:
> key not found: mygeohashException in thread "main"
> java.util.NoSuchElementException: key not found: mygeohash at
> scala.collection.MapLike$class.default(MapLike.scala:228) at
> scala.collection.AbstractMap.default(Map.scala:59) at
> scala.collection.mutable.HashMap.apply(HashMap.scala:65) at
> org.apache.spark.sql.execution.command.management.CarbonInsertIntoCommand$$anonfun$getReArrangedIndexAndSelectedSchema$5.apply(CarbonInsertIntoCommand.scala:504)
> at
> org.apache.spark.sql.execution.command.management.CarbonInsertIntoCommand$$anonfun$getReArrangedIndexAndSelectedSchema$5.apply(CarbonInsertIntoCommand.scala:497)
> at
> scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
> at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48) at
> org.apache.spark.sql.execution.command.management.CarbonInsertIntoCommand.getReArrangedIndexAndSelectedSchema(CarbonInsertIntoCommand.scala:496)
> at
> org.apache.spark.sql.execution.command.management.CarbonInsertIntoCommand.processData(CarbonInsertIntoCommand.scala:164){color}
> *Step to reproduce:*
> # Create source table and target table spatial tables.
> # Load data to source table.
> # Insert into target table select from source table.
> *TestCase:*
> | spark.sql(s"""
> |CREATE TABLE source(|
> |timevalue BIGINT,|
> |longitude LONG,|
> |latitude LONG) COMMENT "This is a GeoTable"|
> |STORED AS carbondata|
> |TBLPROPERTIES ('INDEX_HANDLER'='mygeohash',|
> |'INDEX_HANDLER.mygeohash.type'='geohash',|
> |'INDEX_HANDLER.mygeohash.sourcecolumns'='longitude, latitude',|
> |'INDEX_HANDLER.mygeohash.originLatitude'='39.832277',|
> |'INDEX_HANDLER.mygeohash.gridSize'='50',|
> |'INDEX_HANDLER.mygeohash.minLongitude'='115.811865',|
> |'INDEX_HANDLER.mygeohash.maxLongitude'='116.782233',|
> |'INDEX_HANDLER.mygeohash.minLatitude'='39.832277',|
> |'INDEX_HANDLER.mygeohash.maxLatitude'='40.225281',|
> |'INDEX_HANDLER.mygeohash.conversionRatio'='1000000')
> """.stripMargin)
> val path = s"$rootPath/examples/spark/src/main/resources/geodata.csv"|
> spark.sql(
> s"""
> |LOAD DATA LOCAL INPATH '$path'|
> |INTO TABLE source|
> |OPTIONS('COMPLEX_DELIMITER_LEVEL_1'='#')
> """.stripMargin)|
> spark.sql(s"""
> |CREATE TABLE target(|
> |timevalue BIGINT,|
> |longitude LONG,|
> |latitude LONG) COMMENT "This is a GeoTable"|
> |STORED AS carbondata|
> |TBLPROPERTIES ('INDEX_HANDLER'='mygeohash',|
> |'INDEX_HANDLER.mygeohash.type'='geohash',|
> |'INDEX_HANDLER.mygeohash.sourcecolumns'='longitude, latitude',|
> |'INDEX_HANDLER.mygeohash.originLatitude'='39.832277',|
> |'INDEX_HANDLER.mygeohash.gridSize'='50',|
> |'INDEX_HANDLER.mygeohash.minLongitude'='115.811865',|
> |'INDEX_HANDLER.mygeohash.maxLongitude'='116.782233',|
> |'INDEX_HANDLER.mygeohash.minLatitude'='39.832277',|
> |'INDEX_HANDLER.mygeohash.maxLatitude'='40.225281',|
> |'INDEX_HANDLER.mygeohash.conversionRatio'='1000000')
> """.stripMargin)
> spark.sql("insert into target select * from source")|
--
This message was sent by Atlassian Jira
(v8.3.4#803005)