簡體   English   中英

使用Spark SQL加載到Hive后無法看到hdfs文件

[英]Unable to see hdfs file after loading to hive using spark sql

我正在嘗試使用以下查詢使用Spark sql將文件從hdfs加載到配置單元中。

hiveContext.sql("CREATE EXTERNAL TABLE IF NOT EXISTS src (value STRING)")
hiveContext.sql("LOAD DATA INPATH '/data/spark_test/kv1.txt' INTO TABLE src")
hiveContext.sql("FROM src SELECT *").collect().foreach(println)

我發現的是,在第二條語句(即加載文件)之后,我在/apps/hive/warehouse/src/看到了該文件,但在/data/spark_test/kv1.txt/data/spark_test/kv1.txt了。 為什么會這樣?)此處使用的是Spark版本1.6.1。

這是配置單元的默認行為,當您使用load data命令將load data加載到表時,配置單元將原始源數據移動到表位置。
您可以在表位置中找到相同的文件,運行以下命令以查找源文件。

describe extended src; --copy location
hadoop fs -ls <location> 

由於src是外部表,因此您可以直接在數據之上創建外部表,而不是在下一步中加載。

hiveContext.sql("CREATE EXTERNAL TABLE IF NOT EXISTS src (value STRING) location '/data/spark_test'")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM