aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/src/main/scala/org/apache/spark/examples/sql/hive/HiveFromSpark.scala13
1 files changed, 11 insertions, 2 deletions
diff --git a/examples/src/main/scala/org/apache/spark/examples/sql/hive/HiveFromSpark.scala b/examples/src/main/scala/org/apache/spark/examples/sql/hive/HiveFromSpark.scala
index 138923c4d7..5725da1848 100644
--- a/examples/src/main/scala/org/apache/spark/examples/sql/hive/HiveFromSpark.scala
+++ b/examples/src/main/scala/org/apache/spark/examples/sql/hive/HiveFromSpark.scala
@@ -17,6 +17,10 @@
package org.apache.spark.examples.sql.hive
+import com.google.common.io.{ByteStreams, Files}
+
+import java.io.File
+
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql._
import org.apache.spark.sql.hive.HiveContext
@@ -24,10 +28,15 @@ import org.apache.spark.sql.hive.HiveContext
object HiveFromSpark {
case class Record(key: Int, value: String)
+ // Copy kv1.txt file from classpath to temporary directory
+ val kv1Stream = HiveFromSpark.getClass.getResourceAsStream("/kv1.txt")
+ val kv1File = File.createTempFile("kv1", "txt")
+ kv1File.deleteOnExit()
+ ByteStreams.copy(kv1Stream, Files.newOutputStreamSupplier(kv1File))
+
def main(args: Array[String]) {
val sparkConf = new SparkConf().setAppName("HiveFromSpark")
val sc = new SparkContext(sparkConf)
- val path = s"${System.getenv("SPARK_HOME")}/examples/src/main/resources/kv1.txt"
// A hive context adds support for finding tables in the MetaStore and writing queries
// using HiveQL. Users who do not have an existing Hive deployment can still create a
@@ -37,7 +46,7 @@ object HiveFromSpark {
import hiveContext._
sql("CREATE TABLE IF NOT EXISTS src (key INT, value STRING)")
- sql(s"LOAD DATA LOCAL INPATH '$path' INTO TABLE src")
+ sql(s"LOAD DATA LOCAL INPATH '${kv1File.getAbsolutePath}' INTO TABLE src")
// Queries are expressed in HiveQL
println("Result of 'SELECT *': ")