如何将本地数据上传到hdfs

一、将数据传输到服务器

使用xshell将本地数据传到服务器并解压

1.上传:

方法一:连接Xftp上传
在这里插入图片描述
xftp操作界面
在这里插入图片描述
直接将要上传的本地文件拖动到对应的服务器位置即可。(要传输的服务器文件夹需要有读写权限)

方法二:
使用rz。在xshell操作界面输入rz会弹出一个选择上传文件的窗口,选择对应的文件即可。
在这里插入图片描述

2.解压gz压缩包

进入文件所在位置,输入gunzip xxx.gz,要解压该文件夹下所有的文件可以 gunzip *.gz。

二、文件上传到hdfs

hdfs dfs -put /home/xxx.csv /input_local

在这里插入图片描述

将电影数据传到HDFS(分布式文件系统)可以通过多种方法实现,以下是几种常见的方法: 1. **使用命令行工具(HDFS Shell)**: HDFS提供了命令行工具,可以方便地上传文件到HDFS。 ```bash hdfs dfs -put /本地路径/电影数据.csv /HDFS路径/电影数据.csv ``` 这条命令将本地文件系统中的`电影数据.csv`文件上传到HDFS的指定路径。 2. **使用Hadoop的Java API**: 如果你使用Java进行开发,可以编写Java程序调用Hadoop的API来上传文件。 ```java import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import java.io.InputStream; import java.io.FileInputStream; import java.io.IOException; public class UploadToHDFS { public static void main(String[] args) throws IOException { Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(conf); Path localPath = new Path("/本地路径/电影数据.csv"); Path hdfsPath = new Path("/HDFS路径/电影数据.csv"); try (InputStream in = new FileInputStream(localPath.toString())) { fs.copyFromLocalFile(false, true, localPath, hdfsPath); } fs.close(); } } ``` 3. **使用Apache Spark**: 如果你已经使用Spark进行数据处理,可以直接将数据加载到Spark的DataFrame中,然后保存到HDFS。 ```python from pyspark.sql import SparkSession spark = SparkSession.builder.appName("UploadToHDFS").getOrCreate() df = spark.read.csv("/本地路径/电影数据.csv", header=True) df.write.mode("overwrite").csv("/HDFS路径/电影数据.csv") spark.stop() ``` 4. **使用WebHDFS REST API**: 通过HTTP请求上传文件。 ```bash curl -i -X PUT "http://namenode:50070/webhdfs/v1/HDFS路径/电影数据.csv?op=CREATE&overwrite=true" -T /本地路径/电影数据.csv ``` 这些方法各有优缺点,选择适合你的场景的方法即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值