2017-05-03 57 views
0

我有表格存储为文本文件,例如员工在配置单元中,我想使用火花访问它。如何使用火花访问配置单元数据

  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 

如果我有地方火花shell运行怎么做,在当前目录下的文本文件?

回答

0

你在hadoop上运行配置单元吗? 尝试使用绝对路径...如果这不起作用,请尝试将文件加载到hdfs,然后将绝对路径提供给您的文件(hdfs位置)。

0

尝试做本地模式如下面的步骤

  • 开始火花壳:火花壳--master本地[*]
  • 给加载文件 例如文件完整路径:文件:///home/username/employee.txt