在阅读cloudera快速入门教程时,我遇到了以下错误:
输入路径不存在: hdfs://quickstart/user/hive/warehouse/products
这个问题发生在我执行这个火花代码时:
val orders = order_items.map { x => (
x.get("order_item_product_id"),
(x.get("order_item_order_id"), x.get("order_item_quantity")))
}.join(
products.map { x => (
x.get("product_id"),
(x.get("product_name")))
}
).map(x => (
scala.Int.unbox(x._2._1._1), // order_id
(
scala.Int.unbox(x._2._1._2), // quantity
x._2._2.toString // product_name
)
)).groupByKey()如何解决这个问题?
发布于 2019-01-07 12:36:43
HDFS路径指的是蜂窝仓库。快速检查确认HDFS上的路径不存在( hive表也不存在)。
在这种特殊情况下,这是因为虽然本教程有几个主题,但它们并不是独立的。因此,需要使用来自第一个主题(squoop导入)的代码来确保数据在spark部分的实际位置。
在本教程中,您可以返回几个步骤来查找相关代码,在我的示例中是:
sqoop import-all-tables \
-m 1 \
--connect jdbc:mysql://quickstart:3306/retail_db \
--username=retail_dba \
--password=cloudera \
--compression-codec=snappy \
--as-parquetfile \
--warehouse-dir=/user/hive/warehouse \
--hive-import请注意,在运行squoop命令之前,您需要exit火花外壳。
https://stackoverflow.com/questions/54074578
复制相似问题