天津东软实训第三天

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

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 Files\Java\jdk1.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方法中执行相应的方法。

猜你喜欢

转载自www.cnblogs.com/huyangyang/p/9296292.html