You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Taiji Okada (JIRA)" <ji...@apache.org> on 2015/01/07 18:18:35 UTC

[jira] [Commented] (SPARK-4768) Add Support For Impala Encoded Timestamp (INT96)

    [ https://issues.apache.org/jira/browse/SPARK-4768?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14267894#comment-14267894 ] 

Taiji Okada commented on SPARK-4768:
------------------------------------

Note that the attached parquet file, is stored in a directory called string_timestamp

The exception I got is:
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at com.gs.jsi.javawrappers.JSILink$1.run(JSILink.java:208)
	at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at com.gs.jsi.intellijsi.runner.JSIRunWrapper.main(JSIRunWrapper.java:58)
	... 6 more
Caused by: java.lang.RuntimeException: Potential loss of precision: cannot convert INT96
	at scala.sys.package$.error(package.scala:27)
	at org.apache.spark.sql.parquet.ParquetTypesConverter$.toPrimitiveDataType(ParquetTypes.scala:61)
	at org.apache.spark.sql.parquet.ParquetTypesConverter$.toDataType(ParquetTypes.scala:113)
	at org.apache.spark.sql.parquet.ParquetTypesConverter$$anonfun$convertToAttributes$1.apply(ParquetTypes.scala:314)
	at org.apache.spark.sql.parquet.ParquetTypesConverter$$anonfun$convertToAttributes$1.apply(ParquetTypes.scala:311)
	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.Iterator$class.foreach(Iterator.scala:727)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
	at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
	at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
	at scala.collection.AbstractTraversable.map(Traversable.scala:105)
	at org.apache.spark.sql.parquet.ParquetTypesConverter$.convertToAttributes(ParquetTypes.scala:310)
	at org.apache.spark.sql.parquet.ParquetTypesConverter$.readSchemaFromFile(ParquetTypes.scala:441)
	at org.apache.spark.sql.parquet.ParquetRelation.<init>(ParquetRelation.scala:66)
	at org.apache.spark.sql.SQLContext.parquetFile(SQLContext.scala:141)
	at com.gs.gsam.examples.SparkParquetExample$.main(SparkParquetExample.scala:32)
	at com.gs.gsam.examples.SparkParquetExample.main(SparkParquetExample.scala)

Code:
    val sqlContext = new SQLContext(sc)
    val parquetRDD: SchemaRDD = sqlContext.parquetFile("hdfs://a.b.c.d/user/hive/warehouse/string_timestamp");
    parquetRDD.foreach(println)


> Add Support For Impala Encoded Timestamp (INT96)
> ------------------------------------------------
>
>                 Key: SPARK-4768
>                 URL: https://issues.apache.org/jira/browse/SPARK-4768
>             Project: Spark
>          Issue Type: Improvement
>          Components: SQL
>            Reporter: Pat McDonough
>            Priority: Critical
>         Attachments: 5e4481a02f951e29-651ee94ed14560bf_922627129_data.0.parq
>
>
> Impala is using INT96 for timestamps. Spark SQL should be able to read this data despite the fact that it is not part of the spec.
> Perhaps adding a flag to act like impala when reading parquet (like we do for strings already) would be useful.
> Here's an example of the error you might see:
> {code}
> Caused by: java.lang.RuntimeException: Potential loss of precision: cannot convert INT96
>         at scala.sys.package$.error(package.scala:27)
>         at org.apache.spark.sql.parquet.ParquetTypesConverter$.toPrimitiveDataType(ParquetTypes.scala:61)
>         at org.apache.spark.sql.parquet.ParquetTypesConverter$.toDataType(ParquetTypes.scala:113)
>         at org.apache.spark.sql.parquet.ParquetTypesConverter$$anonfun$convertToAttributes$1.apply(ParquetTypes.scala:314)
>         at org.apache.spark.sql.parquet.ParquetTypesConverter$$anonfun$convertToAttributes$1.apply(ParquetTypes.scala:311)
>         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.Iterator$class.foreach(Iterator.scala:727)
>         at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
>         at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
>         at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
>         at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
>         at scala.collection.AbstractTraversable.map(Traversable.scala:105)
>         at org.apache.spark.sql.parquet.ParquetTypesConverter$.convertToAttributes(ParquetTypes.scala:310)
>         at org.apache.spark.sql.parquet.ParquetTypesConverter$.readSchemaFromFile(ParquetTypes.scala:441)
>         at org.apache.spark.sql.parquet.ParquetRelation.<init>(ParquetRelation.scala:66)
>         at org.apache.spark.sql.SQLContext.parquetFile(SQLContext.scala:141)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org