IDEA连接Hadoop

发布时间 2023-09-11 18:06:19作者: 杳无音讯

因为一些学习的需要,用到了idea连接hadoop,并对它进行一些相关的读写操作,总结一下大概的流程。

一、使hadoop集群可以被远程访问,配置一些文件,可以参考一些其它博主的教程,记住配置的URL或者IP地址以及远程访问用到的端口号。

二、在idea中建一个连接,测试一下是否可以连接hadoop

注意URL、密码、用户,URL写jdbc:hive2://IP:端口,ip可以写成自己配的映射

三、新建测试类

package com.hua;

import org.junit.Test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class test {

@Test
public void select()
{
String url = "jdbc:hive2://node1:10000/default";
String username = "root";
String password = "hadoop";

// 建立数据库连接
try {
Connection connection = DriverManager.getConnection(url, username, password);
System.out.println("连接成功!");

// 执行查询
Statement statement = connection.createStatement();
String sql = "SELECT * FROM me";
ResultSet resultSet = statement.executeQuery(sql);

// 处理查询结果
while (resultSet.next()) {
// 获取结果集中的数据
int empId = resultSet.getInt("id");
String empName = resultSet.getString("name");

// 输出结果
System.out.println("Employee ID: " + empId);
System.out.println("Employee Name: " + empName);
}

// 关闭连接
resultSet.close();
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}

public void delete()
{

}

public void add()
{

}

public void update()
{

}

}
连接成功

四、对数据库的修改以及删除操作,不用用sql中的delete以及update,hadoop不允许,可以搜一搜insert overwrite尝试一下,下面有相关的实例,大家可以了解一下

  1. 更新操作:

假设有一个名为employees的表,其中包含员工的信息(id、name、salary等)。要更新表中id为1的员工的薪水为5000,可以使用以下语句:

sql
INSERT OVERWRITE TABLE employees
SELECT
    id,
    name,
    CASE
        WHEN id = 1 THEN 5000
        ELSE salary
    END AS salary
FROM employees;

上述语句将从employees表中选择所有字段,并使用CASE语句将id为1的员工的薪水更新为5000,其他员工的薪水保持不变。然后,将结果写回到原始表employees,实现了更新操作。

  1. 删除操作:

假设有一个名为sales的表,其中记录了销售数据。要删除表中所有销售额小于100的记录,可以使用以下语句:

 
INSERT OVERWRITE TABLE sales
SELECT *
FROM sales
WHERE amount >= 100;