使用spark sql加载到配置单元后无法查看hdfs文件

tuwxkamq  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(352)

我正在尝试使用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。

62o28rlo

62o28rlo1#

当您使用将数据加载到表中时,这是配置单元的默认行为 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'")

相关问题