zoukankan      html  css  js  c++  java
  • 百度云平台使用说明

    当我们登陆之后,百度提供了在server上面的工作文件夹,而且是以/user/username方式命名,其username就是我们注冊的用户名,在百度网盘能够与HDFS分布式文件系统交互,相同在WEBserver上也能够与HDFS分布式系统交互,其方法是:在web shell 界面输入upload能够将用户文件上传到WEBserver上面用户相应的工作文件夹以下,然后我们能够使用hadoop fs -put test ./ 将WEBserver上的文件上传到HDFS分布式系统上,在WEBserver上面能够使用ls直接查看当前文件夹以下文件,能够使用hadoop fs -ls ./查看HDFS分布式系统上文件夹以下的文件。

    主办方提供三种数据:
    1.关键词数据集(文件为:hdfs://share/data/compad/keyword_class.txt)
    2.关键词辅助信息数据集(文件为:hdfs://share/data/compad/keyword_titles.txt)
    3.关键词与广告主关联关系数据集(文件为:hdfs://share/data/compad/keyword_users.txt)

    使用例如以下命令将hdfs分布式系统上的文件下载到WEBserver:
    hadoop fs -get /share/data/compad/keyword_class.txt ./keyword_class.txt
    hadoop fs -get /share/data/compad/keyword_titles.txt ./keyword_titles.txt
    hadoop fs -get /share/data/compad/keyword_users.txt ./keyword_users.txt
    下载之后其存放路径是:
    这里写图片描写叙述
    当我想使用download命令将文件下载到本地时候。会提示文件超过大小,百度提供的文件大小权限是10M。超过10M文件无法下载。

    相同我们还能够使用
    hadoop fs -cp /share/data/compad/keyword_users.txt ./keyword_users.txt
    将文件复制到HDFS分布式系统上面我们自己的用户文件夹下
    如:我拷贝过之后,使用命令查看, hadoop fs -ls ./其所在路径是:
    这里写图片描写叙述

    注意:两种方式拷贝的文件的目的路径是不同的。

    Hadoop 运行jar文件命令:hadoop jar xxx.jar mainclass args

    hadoop jar ./My.jar
    My.jar 应该存在你的JobClient的个人文件夹下(/home/shijiebei2009/My.jar),
    而不是你的hdfs个人文件夹下。


    假设我运行位于HDFS分布式系统上的jar文件,那么会出现permission denied错误提示。

    我们能够实现百度网盘与HDFS分布式文件系统进行交互。


    从百度网盘到HDFS的文件传输
    pan –put ./tupian.png ./test/tupian.png

    从HDFS到百度网盘的文件传输
    pan –get ./test/tupian.png./test/tupian.png

    在用户的server上工作文件夹下存在一个文件index.html,用户输入hadoop fs –put index.html ./001,则会拷贝用户server上工作文件夹下的index.html。保存在用户在HDFS的工作文件夹下的001子文件夹中。

    Question:
    在从HDFS上向网盘转移文件时候,使用例如以下命令
    pan -get /share/data/compad/keyword_class.txt ./keyword_class.txt
    会出现
    hdfs file not exist!
    使用命令:
    pan -get /share/data/compad/keyword_titles.txt ./keyword_titles.txt
    会出现:
    com.baidu.pcs.exception.PcsHttpException: org.apache.http.HttpException: IOException java.net.SocketException: Connection reset

    当我在使用命令从网盘向HDFS上载文件时候,提示上载成功
    这里写图片描写叙述
    可是在文件夹以下并不能找到我上载的文件

    pan -get /user/shijiebei2009/keyword_class.txt ./keyword_class.txt
    pan -get /user/shijiebei2009/keyword_users.txt ./keyword_users.txt
    这两条命令均能够成功将文件下载到百度网盘,可是例如以下命令下载还有一个文件时候
    这里写图片描写叙述
    会提示文件过大,不能下载。

    在使用例如以下程序訪问keyword_titles.txt时候,出现的错误提示

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;
    
    
    public class hi {
           public static void main(String[] args) {
                  ArrayList<String> keywordclass=new ArrayList<String>();
                  ArrayList<String> keywordtitles=new ArrayList<String>();
                  ArrayList<String> keywordusers=new ArrayList<String>();
                  keywordtitles = GetData("keyword_titles.txt");
    //            keywordclass = GetData("keyword_class.txt");
    //            keywordusers = GetData("keyword_users.txt");
    
    //            System.out.println(keywordclass.size()+"   "+keywordtitles.size()+"  "+keywordusers.size());
    //                   System.out.println(keywordclass.size());
                  System.out.println(keywordtitles.size());
           }
           public static ArrayList<String> GetData(String filename) {
                  String dir=System.getProperty("user.dir")+"/"+filename;
                  ArrayList<String> datalist=new ArrayList<String>();
                  File file=new File(dir);
                  String line;
                  try {
                         BufferedReader reader=new BufferedReader( new FileReader(file));
                         while((line=reader.readLine())!=null)
                                datalist.add(line);
                  } catch (Exception e) {
                         // TODO Auto-generated catch block
                         e.printStackTrace();
                  }
                  System.out.println(dir);
                  return datalist;
           }
    }

    这里写图片描写叙述
    当我想知道keyword_class.txt文件的大小的时候。程序结果例如以下:
    这里写图片描写叙述
    程序输出的数据是行数

    当我想知道keyword_users.txt文件的大小的时候,程序结果例如以下:
    这里写图片描写叙述

    经过试验,假设我将程序中的dir改成例如以下形式
    dir = “hdfs://share/data/compad/keyword_class.txt”;
    即我要訪问HDFS分布式系统上的文件是訪问不了的,程序给出提演示样例如以下:

    这里写图片描写叙述

  • 相关阅读:
    form表单里submit的提交,如何不让其阻止ajax的调用
    前端模拟后台json 调接口
    纯前端实现搜索功能、模糊查询
    js如何获取select下拉框的value以及文本内容 并赋值
    清除表单input输入框内数据
    js动态生成的dom mouseover事件无效
    jq获取当前日期xxxx-xx-xx格式
    获取自定义属性、 data-* 的值
    媒体查询不起作用
    shell_判断语句If
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5274628.html
Copyright © 2011-2022 走看看