当前位置: 首页 > news >正文

Spark,IDEA编写Maven项目

IDEA中编写Maven项目

1.打开IDEA新建项目

2.选择java语言,构建系统选择Maven

3.IDEA中配置Maven

注:这些文件都是我们老师帮我们在网上找了改动后给我们的,大家可自行在网上查找

编写代码测试HDFS连接

1.在之前创建的pom.xml文件中添加下列代码

<dependencies>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-client</artifactId>
        <version>3.1.3</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.30</version>
    </dependency>
</dependencies>

注:这里的dependencies要这一步中的hadoop-client要和我们前面客户端准备中下载的hadoop保持一致。

2.配置日志信息。在项目的src/main/resources目录下,新建一个文件,命名为“log4j.properties”。

在文件中填入如下配置信息:

log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout  log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

3.创建包为org.example,并在下面创建Main类

编写代码如下:

package org.example;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

import java.io.IOException;
import java.net.URISyntaxException;

public class Main {
    public static void main(String[] args) throws URISyntaxException, IOException, InterruptedException {
        Configuration conf = new Configuration();
        conf.set("fs.defaultFS", "hdfs://hadoop100:8020"); // hadoop100是namenode所在的节点
        conf.set("hadoop.job.ugi", "root");
        FileSystem fs = FileSystem.get(conf);
        FileStatus[] fileStatuses = fs.listStatus(new Path("/"));

        // 打印文件信息
        System.out.println("根目录下的文件和目录信息:");
        for (FileStatus fileStatus : fileStatuses) {
            System.out.println("路径: " + fileStatus.getPath());
        }
        fs.close();
    }
}

4.运行

如果程序执行没有错误,就会打印出如下目录

相关文章:

  • 硬盘分区格式之GPT(GUID Partition Table)笔记250406
  • (复看)CExercise_06_1指针和数组_2 给定一个double数组,求平均值,并且返回
  • 第二章:访问远程服务_《凤凰架构:构建可靠的大型分布式系统》
  • React 多个 HOC 嵌套太深,会带来哪些隐患?
  • mac命令操作
  • 在huggingface上制作小demo
  • 初阶C++笔记第一篇:C++基础语法
  • ​‌Qt的稳定版本与下载
  • 算法竞赛进阶指南 激光炸弹
  • 深度解析:文件或目录损坏且无法读取的应对之道
  • 布谷一对一直播源码android版环境配置流程及功能明细
  • Java8+Spring Boot + Vue + Langchain4j 实现阿里云百炼平台 AI 流式对话对接
  • 音频接口格式与通道
  • Vue项目 bug 解决
  • ES 参数调优
  • 【区块链安全 | 第二十七篇】合约(一)
  • 第八天 - paramiko/ssh模块 - 远程服务器管理 - 练习:批量服务器命令执行工具
  • Java课堂笔记4
  • 现代复古像素风等宽品牌游戏界面徽标设计Y2K装饰英文字体 AOT Lost Contact – Contemporary Pixel Font
  • Vue3.2 项目打包成 Electron 桌面应用
  • 长沙至赣州高铁初步设计获批,可填补湘赣两省斜向交通空白
  • 世卫大会连续9年拒绝涉台提案
  • 8000余万元黄金投入研发后“不知去向”,咋回事?
  • 外交部:巴基斯坦副总理兼外长达尔5月19日至21日访华
  • 建筑瞭望|从黄浦江畔趸船改造看航运设施的升级与利用
  • 经济日报:政府采购监管篱笆要扎得更牢