• 天津东软实训第三天


    今天主要学习了以下几个方面的内容:

    1、多线程的介绍,串行与并行,sleepwait以及加lock操作

    2、JDBCmaven导包,连接步骤:1、选择要连接的数据库种类2、通过主机IP端口号用户名密码创建连接3、选择要进行操作的数据库4、创建出一个命令窗口 写SQL语句5、执行SQL语句

    3、定义属性的时候一定要用包装类(integer)。

    4、获取数据库的时候只能用列名。

    5、判断是否为空指针,然后再关闭服务

    6、ArrayList的介绍,与数组的区别。

    7、Java操作HDFS的输入输出。(创建一个配置对象,在配置对象中设置namenode,创建FileSystem,创建输入流,字节流转字符流)

    其中比较重要的是Java对HDFS的读取和写入操作:

    1、首先在Eclipse上建立maven项目,在Maven Dependencies中加入相应的依赖,主要是:

    <dependencies>
    		<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common -->
    		<dependency>
    			<groupId>org.apache.hadoop</groupId>
    			<artifactId>hadoop-common</artifactId>
    			<version>2.7.3</version>
    		</dependency>
    		<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client -->
    		<dependency>
    			<groupId>org.apache.hadoop</groupId>
    			<artifactId>hadoop-client</artifactId>
    			<version>2.7.3</version>
    		</dependency>
    		<dependency>
    			<groupId>jdk.tools</groupId>
    			<artifactId>jdk.tools</artifactId>
    			<version>1.8</version>
    			<scope>system</scope>
    			<systemPath>C:Program FilesJavajdk1.8.0_60/lib/tools.jar</systemPath>
    		</dependency>
    	</dependencies>
    

      其中,第一个和第二个依赖是hadoop的依赖,最后一个是系统本地必须要添加的依赖,不添加的就会报错。

    在src/test/java目录下建立操作HDFS的类,类中写入三个方法:read(),write()和append()。

    public static void read(){
    		Configuration conf = new Configuration();//创建一个配置对象
    		conf.set("fs.defaultFS", "hdfs://192.168.131.142:9000");//在配置对象中设置namenode
    		try {
    			FileSystem fs = FileSystem.get(conf);//FileSystem
    			FSDataInputStream inputstream = fs.open(new Path("/hadoop/abc.txt"));//打开HDFS上hadoop文件夹下的abc.txt文件
    			InputStreamReader isr = new InputStreamReader(inputstream);//创建输入流
    			BufferedReader br = new BufferedReader(isr);//按行读取
    			String str = br.readLine();
    			while(str!=null)
    			{
    				System.out.println(str);
    				str = br.readLine();
    			}
    			br.close();
    			isr.close();
    			fs.close();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    	}
    

      

    public static void write(){
    		Configuration conf = new Configuration();
    		conf.set("fs.defaultFS", "hdfs://192.168.131.142:9000");
    		try {
    			FileSystem fs  = FileSystem.get(conf);
    			FSDataOutputStream outputstream = fs.create(new Path("/hadoop/abc.txt"));
    			outputstream.writeBytes("Congraduations!");
    			outputstream.close();
    			fs.close();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    

      

    public static void append(){//不会覆盖原先的内容,在原来的内容后边加入内容
    		Configuration conf = new Configuration();
    		conf.set("fs.defaultFS", "hdfs://192.168.131.142:9000");
    		try {
    			FileSystem fs = FileSystem.get(conf);
    			FSDataOutputStream outputstream = fs.append(new Path("/hadoop/abc.txt"));
    			outputstream.writeBytes("it's a good day!");
    			fs.close();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    

      在main方法中执行相应的方法。

  • 相关阅读:
    RxJava【创建】操作符 create just from defer timer interval MD
    RxJava【过滤】操作符 filter distinct throttle take skip first MD
    jQuery效果之封装模拟placeholder效果,让低版本浏览器也支持
    jQuery效果之jQuery实现图片的依次加载图片
    JS实现缓动效果-让div运动起来
    apache配置-html碎片shtml格式
    wamp本地可以访问,远程无法访问,报错:client denied by server configuration
    webstorm编辑器相关
    wamp安装运行时出现服务未启动
    phpcms导航菜单的写法
  • 原文地址:https://www.cnblogs.com/huyangyang/p/9296292.html
Copyright © 2020-2023  润新知