Rumah > Java > javaTutorial > teks badan

Pengenalan kepada Asas Java kepada Aplikasi Praktikal: Analisis Praktikal Data Besar

WBOY
Lepaskan: 2024-05-07 16:33:01
asal
422 orang telah melayarinya

Tutorial ini akan membantu anda menguasai kemahiran analisis data besar daripada asas Java kepada aplikasi praktikal. Termasuk asas Java (pembolehubah, aliran kawalan, kelas, dll.), alatan data besar (ekosistem Hadoop, Spark, Hive) dan kes praktikal: mendapatkan data penerbangan daripada OpenFlights. Gunakan Hadoop untuk membaca dan memproses data serta menganalisis lapangan terbang paling kerap untuk destinasi penerbangan. Gunakan Spark untuk menelusuri dan mencari penerbangan terkini ke destinasi anda. Gunakan Hive untuk menganalisis data secara interaktif dan mengira bilangan penerbangan di setiap lapangan terbang.

Pengenalan kepada Asas Java kepada Aplikasi Praktikal: Analisis Praktikal Data Besar

Asas Java kepada Aplikasi Praktikal: Analisis Praktikal Data Besar

Pengenalan

Dengan kemunculan era data besar, menguasai kemahiran analisis data besar menjadi penting. Tutorial ini akan membawa anda daripada bermula dengan asas Java kepada menggunakan Java untuk analisis data besar yang praktikal. .

Alat analisis data besar

Ekosistem Hadoop (Hadoop, MapReduce, HDFS)
  • Spark
  • Hive
  • Kes praktikal: Menganalisis data penerbangan menggunakan Java
Dapatkan data penerbangan menggunakan Java

Muat turun penerbangan data daripada set data OpenFlights.
  • Langkah 2: Baca dan tulis data menggunakan Hadoop
  • Baca dan proses data menggunakan Hadoop dan MapReduce.
  • import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.Path;
    import org.apache.hadoop.io.IntWritable;
    import org.apache.hadoop.io.Text;
    import org.apache.hadoop.mapreduce.Job;
    import org.apache.hadoop.mapreduce.Mapper;
    import org.apache.hadoop.mapreduce.Reducer;
    import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
    import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
    
    public class FlightStats {
    
        public static void main(String[] args) throws Exception {
            Configuration conf = new Configuration();
            Job job = Job.getInstance(conf, "Flight Stats");
            job.setJarByClass(FlightStats.class);
    
            job.setMapperClass(FlightStatsMapper.class);
            job.setReducerClass(FlightStatsReducer.class);
    
            job.setOutputKeyClass(Text.class);
            job.setOutputValueClass(IntWritable.class);
    
            FileInputFormat.addInputPath(job, new Path(args[0]));
            FileOutputFormat.setOutputPath(job, new Path(args[1]));
    
            job.waitForCompletion(true);
        }
    
        public static class FlightStatsMapper extends Mapper<Object, Text, Text, IntWritable> {
            @Override
            public void map(Object key, Text value, Context context) throws IOException, InterruptedException {
                String[] line = value.toString().split(",");
                context.write(new Text(line[1]), new IntWritable(1));
            }
        }
    
        public static class FlightStatsReducer extends Reducer<Text, IntWritable, Text, IntWritable> {
            @Override
            public void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {
                int sum = 0;
                for (IntWritable value : values) {
                    sum += value.get();
                }
                context.write(key, new IntWritable(sum));
            }
        }
    }
    Salin selepas log masuk

Langkah 3: Gunakan Spark untuk analisis lanjut

Gunakan Spark DataFrame dan pertanyaan SQL untuk menganalisis data.

import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;

public class FlightStatsSpark {

    public static void main(String[] args) {
        SparkSession spark = SparkSession.builder().appName("Flight Stats Spark").getOrCreate();

        Dataset<Row> flights = spark.read().csv("hdfs:///path/to/flights.csv");

        flights.createOrReplaceTempView("flights");

        Dataset<Row> top10Airports = spark.sql("SELECT origin, COUNT(*) AS count FROM flights GROUP BY origin ORDER BY count DESC LIMIT 10");

        top10Airports.show(10);
    }
}
Salin selepas log masuk
Langkah 4: Gunakan pertanyaan interaktif Hive

Gunakan pertanyaan interaktif Hive untuk menganalisis data.

CREATE TABLE flights (origin STRING, dest STRING, carrier STRING, dep_date STRING, dep_time STRING, arr_date STRING, arr_time STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;

LOAD DATA INPATH 'hdfs:///path/to/flights.csv' OVERWRITE INTO TABLE flights;

SELECT origin, COUNT(*) AS count FROM flights GROUP BY origin ORDER BY count DESC LIMIT 10;
Salin selepas log masuk
Kesimpulan

Melalui tutorial ini, anda telah menguasai asas Java dan kemahiran menggunakan Java untuk analisis data besar yang praktikal. Dengan memahami Hadoop, Spark dan Hive, anda boleh menganalisis set data yang besar dengan cekap dan mengekstrak cerapan berharga daripadanya.

Atas ialah kandungan terperinci Pengenalan kepada Asas Java kepada Aplikasi Praktikal: Analisis Praktikal Data Besar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!