在我學習hive的時候,按照官網上的demo, // sc is an existing SparkContext. val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc) sqlContext.sql("CREATE TABLE ...
在我學習hive的時候,按照官網上的demo,
// sc is an existing SparkContext.
val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
sqlContext.sql("CREATE TABLE IF NOT EXISTS src (key INT, value STRING)")
sqlContext.sql("LOAD DATA LOCAL INPATH 'examples/src/main/resources/kv1.txt' INTO TABLE src")
// Queries are expressed in HiveQL
sqlContext.sql("FROM src SELECT key, value").collect().foreach(println)
根據此,在最後select 的時候一直都是NULL ,NULL(/在kv1.txt文件中我使用的是製表符隔開)後來發現是hive中預設的分隔符是/u0001(Ctrl+A),而後改成如下
設置hive中的分隔符為tab鍵,則最後得到相應的結果。
ps:load數據的時候使用的是LOAD DATA LOCAL INPUT則指的是從本地中讀入文件,如果把LOCAL去掉則表示從hdfs文件系統中載入數據。