Java 读取HDFS文件系统】的更多相关文章

最近有个需求,计算用户画像. 系统大概有800W的用户量,算每个用户的一些数据. 数据量比较大,算用hive还是毫无压力的,但是写的oracle,在给出数据给前端,就比较难受了. 然后换了种解决方法: 1.hive计算,写的HDFS 2.API读出来,写到hbase(hdfs和hbase的版本不匹配,没办法用sqoop 直接导) 然后问题就来了. 需要写个API,读HDFS上的文件. 主要类:ReadHDFS  public class ReadHDFS { public static void…
原文链接:通过java读取HDFS的数据 通过JAVA直接读取HDFS中的时候,一定会用到FSDataInputStream类,通过FSDataInputStream以流的形式从HDFS读数据代码如下: import java.io.IOException; import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataInputStream; import…
java通过调用HDFS系统的FileSystem等API 直接读取HDFS的压缩文件会产生乱码 解决方法: 1.调用解码的API,解码后通过IO流处理. public static void main(String[] args) throws IOException { Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(conf); boolean tag=fs.exists(new Path(a…
uri填路径 public static void main(String[] args) throws IOException { String uri = "/user/WeiboAD/DF/part-r-00000"; BufferedReader br =null; Configuration conf = new Configuration(); FileSystem fs = FileSystem. get(URI.create (uri), conf); InputStr…
一.HDFS的常用命令 1.查看根目录下的信息:./hadoop dfs -ls 2.查看根目录下的in目录中的内容:./hadoop dfs -ls in或者./hadoop dfs -ls ./in 3.删除文件:./hadoop dfs -rmr 文件名 4.上传文件到HDFS:./hadoop dfs -put 系统目录下的文件 hadoop目录 5.将HDFS的文件复制到本地:./hadoop dfs -get haddo目录 本地目录 6.查看HDFS下某个文件的内容:./hadoo…
转载请在页首明显处注明作者与出处 一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据的一些内容,如hadoop,spark,storm,机器学习等. 当前使用的hadoop版本为2.6.4 上一篇:hadoop系列一:hadoop集群安装 二:HDFS的shell命令 上一章说完了安装HADOOP集群部分,这一张讲HDFS. 其实基本上操作都是通过JAVA API来操作,所以这里的shell命令只是简单介绍一下,实际操作中自然是JAVA API更加方便,功能也更加强大,JAVA…
Java实现对HDFS文件系统的基本操作 1.准备好jar包 2.创建一个类 1. 测试连接 @Test //测试是否连接成功 public void test() { //添加配置 ==> core-site.xml Configuration conf = new Configuration(); //配置默认地址端口 conf.set("fs.defaultFS", "hdfs://192.168.1.105:9000"); try { //加载配置 F…
使用JAVA api读取HDFS文件乱码踩坑 想写一个读取HFDS上的部分文件数据做预览的接口,根据网上的博客实现后,发现有时读取信息会出现乱码,例如读取一个csv时,字符串之间被逗号分割 英文字符串aaa,能正常显示 中文字符串"你好",能正常显示 中英混合字符串如"aaa你好",出现乱码 查阅了众多博客,解决方案大概都是:使用xxx字符集解码.抱着不信的想法,我依次尝试,果然没用. 解决思路 因为HDFS支持6种字符集编码,每个本地文件编码方式又是极可能不一样的…
使用Junit封装HFDS import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.*; import org.apache.hadoop.io.IOUtils; import org.junit.After; import org.junit.Before; import org.junit.Test; import java.net.URI; /** * 使用Java API操作HDFS文件系统 */…
HDFS上的单文件: -bash-3.2$ hadoop fs -ls /user/pms/ouyangyewei/data/input/combineorder/repeat_rec_category Found 1 items -rw-r--r-- 2 deploy supergroup 520 2014-08-14 17:03 /user/pms/ouyangyewei/data/input/combineorder/repeat_rec_category/repeatRecCategor…