1. 程式人生 > >Hadoop——查詢摸個檔案在HDFS叢集中的位置

Hadoop——查詢摸個檔案在HDFS叢集中的位置

import java.io.IOException;

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

//查詢某個檔案在HDFS叢集中的位置
public class FindFile {
	public static void main(String[] args) throws IOException {
		Configuration conf = new Configuration();
		FileSystem fileSystem = FileSystem.get(conf);
		// 必須是一個具體的檔案
		Path path = new Path("/usr/demo.txt");
		// 檔案狀態
		FileStatus fileStatus = fileSystem.getFileStatus(path);
		// 檔案塊
		BlockLocation[] blockLocations = fileSystem.getFileBlockLocations(
				fileStatus, 0, fileStatus.getLen());
		int blockLen = blockLocations.length;
		System.err.println("block Count:" + blockLen);
		for (int i = 0; i < blockLen; i++) {
			//主機名
			String[] hosts = blockLocations[i].getHosts();
			for(String s:hosts){
				System.err.println(s);
			}
		}
	}

}

Console:

block Count:1
huangpeng-K53SD

相關推薦

Hadoop——查詢檔案HDFS叢集位置

import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.f

查詢某個檔案HDFS叢集位置

package com.njupt.hadoop;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.BlockLocation;import org.apache.hadoop.fs.FileStatus;impor

Hadoop高可用配置檔案hdfs-site.xml之dfs.ha.fencing.methods說明

dfs.ha.fencing.methods配置有sshfence和shell兩種方法: sshfence:防止namenode腦裂,當腦裂時,會自動通過ssh到old-active將其殺掉,將standby切換為active。         &nb

查詢有序陣列的位數

問題描述 問題很簡單,就是在兩個有序的整數數組裡(陣列A長度為m, 陣列B長度為n),找到兩個數組合並後的中位數。 要求時間複雜度 O(log(m+n)) 也就是說不能用先歸併兩個陣列再直接查詢的辦法。 中位數 中位數就是在一個有序陣列中,位於中間的數

查詢——兩有序序列的位數

已知有兩個等長的非降序序列S1, S2, 設計函式求S1與S2並集的中位數。有序序列,的中位數指A​(N−1)/2​​的值,即第⌊個數(A​0​​為第1個數)。 輸入格式: 輸入分三行。第一行給出序列的公共長度N(0<N≤100000),隨後每行輸入一個序列的資

[OJ-java] 查詢字串a,b的最長公共子串

目的 記錄自己做過的有價值的程式碼 題目 如題,即查詢兩個字串stringA和stringB中的最長公共子串。成功返回最大公共子串,不成功返回null。 程式碼 public static String iQueryMaxCommString(Str

查詢字串a,b的最長公共子串

#include<iostream> #include<string> using namespace std; string iQueryMaxCommString(string s1, string s2); int main(){ s

查詢Linux系統的佔用磁碟空間最大的前10檔案或資料夾

   當磁碟空間被迅速佔用的時候,我們必須找出一些,比較佔用磁碟空間的檔案或者資料夾。通常情況下,最有可能找出佔用磁碟空間檔案或資料夾的地方,主要是 /tmp or /var or /home。       目前沒有單個命令來

Hadoop叢集需要更改的配置檔案

一、core-site.xml <configuration> <!-- 指定HDFS 中 NameNode 的地址 --> <property> <name>fs.defaultFS</name> &l

通過Spark SQL關聯查詢HDFS上的檔案操作

order_created.txt   訂單編號  訂單建立時間 10703007267488 2014-05-01 06:01:12.334+01 10101043505096 2014-05-01 07:28:12.342+01 10103043509747 2014-05-01 07:5

Mysql使用存儲過程返回查詢表的數據信息

lan var rmi pan cas nis lang fun sub -- 測試手機號 call P_Base_CheckLogin(‘15584463676‘); -- 測試登錄名 call P_Base_CheckLogin(‘sch000001‘)

驗證相關度排序是否受查詢的多關鍵字在內容相鄰緊密程度有關

程序 關鍵字 field 昨天給公司同事們介紹了lucene相關度打分的公式,大家提到了一個問題,總感覺用相關度排序的時候,lucene會把查詢關鍵字相鄰緊密的doc排在前面,但是打分公式裏面卻沒提到過這個因素,所以我現在來驗證下查詢詞的緊密程度是否會影響打分。局部代碼添加doc程序1 設置luc

使用一條sql查詢的記錄數

nbsp lec sel code spa select bold style 查詢 方法一: select t1.num1,t2.num2,t3.num3 from (select count(*) num1 from table1) t1, (se

同張表同時查詢字段顯示一個字段,對兩字段進行按時間排序

principal mount sel con AC code rom inter nbsp select b.bid_name as bidName,bd.repayment_way as depict,r.exact_repayment_time as time, r

解決hadoop在配置叢集出現的問題

1、解壓檔案命令 tar -zxvf 檔名.tar.gz 2、ssh ssh應該算是一個最讓人頭疼的問題,它預先安裝的ssh服務,是用不了的,因此需要用到解除安裝命令將其解除安裝。 sudo apt-get remove ssh 重新安裝ssh服務

springboot上傳下載檔案(3)--java api 操作HDFS叢集+叢集配置

 只有光頭才能變強! 前一篇文章講了nginx+ftp搭建獨立的檔案伺服器 但這個伺服器宕機了怎麼辦? 我們用hdfs分散式檔案系統來解決這個問題(同時也為hadoop系列開個頭) 目錄 1、Ubuntu14.04下配置Hadoop(2.8.5)叢集環境詳解(完全分

關於一個多.cpp檔案的專案,函數出現未定義引用錯誤

編譯的話,必須把全部的c檔案都要編譯的啊,只編譯一個c算怎麼個邏輯呢?編譯實際上是2個過程,編譯和連結。編譯過程只檢查所有的符號(變數,函式)有沒有宣告,即只需要h檔案生命就夠了。但是連結時候,需要找到全部的函式的實現體,不把所有的.cpp一起編譯,電腦怎麼知道你還有檔案呢,它又不是神仙會算。簡單說就是,gc

如何在 Linux 一次重新命名多檔案

你可能已經知道,我們使用 mv 命令在類 Unix 作業系統中重新命名或者移動檔案和目錄。 但是,mv 命令不支援一次重新命名多個檔案。 不用擔心。 在本教程中,我們將學習使用 Linux 中的 mmv 命令一次重新命名多個檔案。 此命令用於在類 Unix 作業系統中使用標準萬用字元批量移動、複製、追加和重新

QFileDialog關於選擇檔案對話方塊的幾訊號的說明(currentChanged,directoryEntered,fileSelected,filterSelected)

QFileDialog關於選擇檔案對話方塊中的幾個訊號 例項: openFile::openFile(QWidget *parent) :QWidget(parent),ui(new Ui::openFile){ui->setupUi(this);fDialog = new QFileDialog(t

叢集間資料拷貝和Hadoop存檔對於小檔案處理

scp實現兩個遠端主機之間的檔案複製 scp -r hello.txt [email protected]:/user/atguigu/hello.txt // 推 push scp -r [email protected]:/user/atguigu