dev 
 step 1:create table:
cc.sql("CREATE TABLE IF NOT EXISTS qqdata2.oc_indextest (id STRING, 
CUST_ORDER_ID STRING,ORDER_ITEM_IDATTR_ID STRING,TTR_VALUE_IDATTR_VALUE 
STRING,CREATE_DATE STRING,UPDATE_DATE STRING,STATUS_CD STRING,STATUS_DATE 
STRING,AREA_ID STRING,REGION_CD STRING,UPDATE_STAFF STRING,CREATE_STAFF 
STRING,SHARDING_ID STRING,ORDER_ATTR_ID STRING) STORED BY 'carbondata' ")

step 2: insert data:
cc.sql("insert into qqdata2.oc_indextest select * from 
qqdata2.h_indextest").show(100,false);

step 3: calling a scala program to update the table continuously.
code segment as following

 lazy val list = (start to end).sliding(step, step).toList
    for (i <- 0 to list.length - 1) {
      lazy val temp1 = list(i).mkString("\"", "\",\"", "\"")
      lazy val msg = rnd.nextInt(seed) % (seed) + Str1 + rnd.nextInt(seed) % 
(seed) + Str1 + (i + 4) + Str1 + "20160709" + rnd.nextInt(seed) % (seed) + Str1 
+ "20160710" + rnd.nextInt(seed) % (seed) + Str1 + "1299" + Str1 + "20160711" + 
rnd.nextInt(seed) % (seed) + Str1 + "10" + Str1 + "73" + Str1 + "302063" + Str1 
+ "302064" + Str1 + rnd.nextInt(seed) % (seed) + Str1 + "44444444"
      cc.sql(s"update qqdata2.$table 
set(CUST_ORDER_ID,ORDER_ITEM_IDATTR_ID,TTR_VALUE_IDATTR_VALUE,CREATE_DATE,UPDATE_DATE,STATUS_CD,STATUS_DATE,AREA_ID,REGION_CD,UPDATE_STAFF,CREATE_STAFF,SHARDING_ID,ORDER_ATTR_ID)=($msg)
  where id in ($temp1)").show
      cc.sql(s"select * from  qqdata2.$table a,qqdata2.h_indextest1 b where 
a.id=b.id").show
    }

step 4: interrupt the update program in the process of updating.

step 5:query data
cc.sql("select * from qqdata2.oc_indextest where id = 
'1999100000'").show(100,false);

Sometimes the query failed.


yixu2001
 
From: Liang Chen
Date: 2017-10-16 19:31
To: dev
Subject: Re: Query failed after "update" statement interruptted
Hi
 
Can you provide the full script?  what is your update script?  how to
reproduce ?
 
Regards
Liang
 
 
yixu2001 wrote
> dev 
> 
>  On the process of "update" statement execution, interruption happened.
> After that, the "select" statement failed.
> Sometimes the "select" statement will recover to succeed, but sometimes it
> can not recover.
> 
> The error infomation as following:
> 
> "scala> cc.sql("select * from qqdata2.oc_indextest where id =
> '1999100000'").show(100,false);
> java.lang.NullPointerException
>   at
> org.apache.carbondata.hadoop.CarbonInputFormat.getDataBlocksOfSegment(CarbonInputFormat.java:381)
>   at
> org.apache.carbondata.hadoop.CarbonInputFormat.getSplits(CarbonInputFormat.java:316)
>   at
> org.apache.carbondata.hadoop.CarbonInputFormat.getSplits(CarbonInputFormat.java:262)
>   at
> org.apache.carbondata.spark.rdd.CarbonScanRDD.getPartitions(CarbonScanRDD.scala:81)
>   at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:252)
>   at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:250)
>   at scala.Option.getOrElse(Option.scala:121)
>   at org.apache.spark.rdd.RDD.partitions(RDD.scala:250)
>   at
> org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35)
>   at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:252)
>   at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:250)
>   at scala.Option.getOrElse(Option.scala:121)
>   at org.apache.spark.rdd.RDD.partitions(RDD.scala:250)
>   at
> org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35)
>   at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:252)
>   at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:250)
>   at scala.Option.getOrElse(Option.scala:121)
>   at org.apache.spark.rdd.RDD.partitions(RDD.scala:250)
>   at
> org.apache.spark.sql.execution.SparkPlan.executeTake(SparkPlan.scala:311)
>   at
> org.apache.spark.sql.execution.CollectLimitExec.executeCollect(limit.scala:38)
>   at
> org.apache.spark.sql.Dataset$$anonfun$org$apache$spark$sql$Dataset$$execute$1$1.apply(Dataset.scala:2378)
>   at
> org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:57)
>   at org.apache.spark.sql.Dataset.withNewExecutionId(Dataset.scala:2780)
>   at org.apache.spark.sql.Dataset.org 
> 
> $apache$spark$sql$Dataset$$execute$1(Dataset.scala:2377)
>   at org.apache.spark.sql.Dataset.org 
> 
> $apache$spark$sql$Dataset$$collect(Dataset.scala:2384)
>   at
> org.apache.spark.sql.Dataset$$anonfun$head$1.apply(Dataset.scala:2120)
>   at
> org.apache.spark.sql.Dataset$$anonfun$head$1.apply(Dataset.scala:2119)
>   at org.apache.spark.sql.Dataset.withTypedCallback(Dataset.scala:2810)
>   at org.apache.spark.sql.Dataset.head(Dataset.scala:2119)
>   at org.apache.spark.sql.Dataset.take(Dataset.scala:2334)
>   at org.apache.spark.sql.Dataset.showString(Dataset.scala:248)
>   at org.apache.spark.sql.Dataset.show(Dataset.scala:640)
>   ... 50 elided"
>  
> 
> 
> yixu2001
 
 
 
 
 
--
Sent from: 
http://apache-carbondata-dev-mailing-list-archive.1130556.n5.nabble.com/

Reply via email to