2017-05-03 60 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