Hadoop是一個開源的分布式系統(tǒng)框架,用于數(shù)據(jù)處理。它提供了可擴(kuò)展性和可靠性,使得大規(guī)模數(shù)據(jù)的處理和存儲變得更加容易。Hadoop可以處理多種數(shù)據(jù)格式,其中包括JSON。
public class JsonExample {
public static void main(String[] args) throws IOException {
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(new URI("hdfs://localhost:9000"), conf);
Path inputFile = new Path("/input.json");
InputStream inputStream = fs.open(inputFile);
JSONParser parser = new JSONParser();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = reader.readLine()) != null) {
JSONObject json = (JSONObject) parser.parse(line);
String name = (String) json.get("name");
Long age = (Long) json.get("age");
System.out.println("Name: " + name + ", Age: " + age);
}
reader.close();
}
}
以上代碼展示了如何讀取JSON文件并處理其中的數(shù)據(jù)。首先,需要創(chuàng)建一個Hadoop配置對象,并獲取文件系統(tǒng)。然后,打開要讀取的JSON文件,并使用JSONParser解析其中每一行的JSON對象。最后,從JSON對象中讀取數(shù)據(jù)。
使用Hadoop讀取JSON文件可以輕松地處理大規(guī)模數(shù)據(jù)。不僅如此,Hadoop還可以將數(shù)據(jù)存儲在分布式文件系統(tǒng)中,如HDFS。這樣一來,數(shù)據(jù)存儲和處理都可以在集群中進(jìn)行,極大地提高了處理效率。