我将表存储为文本文件,例如Hive中的员工,我想使用Spark访问它。
-
首先,我使用
设置了SQL上下文对象val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
-
然后我创建了表
scala>sqlContext.sql("CREATE TABLE IF NOT EXISTS employee( id INT, name STRING, age INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n'")
-
此外,我试图使用
加载文本文件的内容scala> sqlContext.sql("LOAD DATA LOCAL INPATH 'employee.txt' INTO TABLE employee")
我遇到错误,
SET hive.support.sql11.reserved.keywords=false
FAILED: SemanticException Line 1:23 Invalid path ''employee.txt'': No files
matching path file:/home/username/employee.txt
如果我必须将文本文件放在当前目录中,火花壳正在运行如何做?
您是否在Hadoop上运行Hive?尝试使用绝对路径...如果这不起作用,请尝试将文件加载到HDFS,然后给您的文件(HDFS位置(提供绝对路径。
尝试执行以下步骤
- 以本地模式启动火花壳,例如:Spark-shell - 播放器本地[*]
- 提供加载文件的文件完整路径例如:file://home/username/employee.txt