我正在尝试使用sparksql将一个文件从hdfs加载到hive中,并使用下面的查询。
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
不再。为什么会这样)?这里使用的是spark版本1.6.1。
1条答案
按热度按时间62o28rlo1#
当您使用将数据加载到表中时,这是配置单元的默认行为
load data
命令配置单元将原始源数据移动到表位置。您可以在表位置中找到相同的文件,运行下面的命令来查找源文件。
作为
src
是外部表,所以您可以直接在数据上创建外部表,而不是在下一步中加载。