如何使用Spark访问Hive数据



我将表存储为文本文件,例如Hive中的员工,我想使用Spark访问它。

  1. 首先,我使用

    设置了SQL上下文对象
    val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
    
  2. 然后我创建了表

    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'") 
    
  3. 此外,我试图使用

    加载文本文件的内容
    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

相关内容

  • 没有找到相关文章

最新更新