使用 hdfs put vs spark 将本地文件加载到 HDFS
Loading local file into HDFS using hdfs put vs spark
用例是将本地文件加载到HDFS。下面两种是相同的方法,请指点哪一种有效。
方法一:使用 hdfs put 命令
hadoop fs -put /local/filepath/file.parquet /user/table_nm/
方法二:使用 Spark .
spark.read.parquet("/local/filepath/file.parquet ").createOrReplaceTempView("temp")
spark.sql(s"insert into table table_nm select * from temp")
注:
- 源文件可以是任何格式
- 文件加载不需要转换。
- table_nm 是一个外部 table 指向 /user/table_nm/
的配置单元
假设它们已经构建了本地 .parquet 文件,使用 -put 会更快,因为没有启动 Spark 应用程序的开销。
如果有很多文件,通过 -put 做的工作就更少了。
用例是将本地文件加载到HDFS。下面两种是相同的方法,请指点哪一种有效。
方法一:使用 hdfs put 命令
hadoop fs -put /local/filepath/file.parquet /user/table_nm/
方法二:使用 Spark .
spark.read.parquet("/local/filepath/file.parquet ").createOrReplaceTempView("temp")
spark.sql(s"insert into table table_nm select * from temp")
注:
- 源文件可以是任何格式
- 文件加载不需要转换。
- table_nm 是一个外部 table 指向 /user/table_nm/ 的配置单元
假设它们已经构建了本地 .parquet 文件,使用 -put 会更快,因为没有启动 Spark 应用程序的开销。
如果有很多文件,通过 -put 做的工作就更少了。