1-1.什么是Hadoop(Hadoop系列day01)

本文介绍了Hadoop项目的发展历程及其核心技术特点,包括HDFS用于解决海量数据存储问题,MapReduce用于解决海量数据计算问题,以及Hadoop 2.0引入的YARN框架带来的改进。同时还提到了HBase这一分布式数据库的应用场景。

一:简介

*1. 什么是Hadoop*

What Is Apache Hadoop? The Apache™ Hadoop® project develops
open-source software for reliable, scalable, distributed computing.

  • 根据Hadoop官网介绍。Hadoop是一个开源的,分布式的,可靠的,灵活的 计算系统。很多大公司都在定制自己的Hadoop版本。

  • 解决问题:
    海量数据的存储(HDFS)
    海量数据的分析(MapReduce)

  • 作者:Doug Cutting

    Doug Cutting简介:生活中,可能所有人都间接用过他的作品,他是Lucene、Nutch 、Hadoop等项目的发起人。是他,把高深莫测的搜索技术形成产品,贡献给普通大众;还是他,打造了在云计算和大数据领域里如日中天的Hadoop 。

  • 受Google三篇论文的启发(GFS、MapReduce、BigTable)

  • -

HDFS:
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。
HBase:
是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

2.Hadoop2.0之后出现了YARN

在Hadoop1.0的时候,Hadoop只能运行MapReduce,Hadoop2.0出现之后,使下一代的MapReduce(MRv2/Yarn)框架具有更好的扩展性、可用性、可靠性、向后兼容性和更高的资源利用率以及能支持除了MapReduce计算框架外的更多的计算框架。

3.hadoop最擅长的

这里写图片描述

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

4.哪些公司在使用Hadoop

这里写图片描述

5.Hadoop在淘宝

这里写图片描述

6.Hadoop Ecosystem Map

这里写图片描述

7.Hadoop核心

这里写图片描述

8.Hadoop1.0与2.0比较

这里写图片描述

二:简介

HDFS的架构

  • 主从节点
    -主节点,只有一个:namenode
    -从节点,有很多:nadanodes
  • namenode负责:
    -接受用户操作请求
    -维护文件系统的目录结构
    -管理文件与block之间关系,block与datanode之间关系

  • nadanodes负责:
    - 存储文件
    - 文件被分为block存储在磁盘上
    - 为保证数据安全,文本会有很多副本



怎么解决海量存储问题 ?

这里写图片描述

答:HDFS 解决海量数据的存储

怎么解决海量存储问题 ?

这里写图片描述

答:MapReduce解决海量数据计算的问题

Hadoop集群的物理分布

这里写图片描述

单节点物理结构

这里写图片描述

Hadoop的部署方式

  • 本地模式(用来调试的)
  • 伪分布式()
  • 集群环境(生产环境)
package com.edu.test; import com.edu.po.Person; import com.edu.utils.HiveUtils; import com.edu.utils.JdbcUtils; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; /* * 任务说明: * 1. 把 hive 的表读取出来。 * 2. 把数据转入到 mysql。 * 3. 可以在 web 工程中读取 mysql 数据。 * (web 工程有 jar 冲突问题, 这里间接去读取 hive 数据) * 4. 展示在页面。 */ public class Task1 { /* 数据项: [day_time], [total_msg_cnt] */ static List<Person> getHiveData() throws SQLException { Connection conn = HiveUtils.getConnection(); String SQL = "SELECT CAST(day_time AS STRING) AS day_time, total_msg_cnt FROM total_msg_cnt"; PreparedStatement psmt = conn.prepareStatement(SQL); ResultSet rs = psmt.executeQuery(); List<Person> list = new ArrayList(); while( rs.next() ){ Person p = packPerson( rs ); list.add( p ); System.out.println( p ); } rs.close(); psmt.close(); HiveUtils.closeConnection(); //关闭 hive 连接 System.out.println("+-----------------------------------+"); System.out.println("{TASK1-HIVE}运行完成.."); System.out.println("+-----------------------------------+"); return list; } static Person packPerson(ResultSet rs) throws SQLException { Person p = new Person(); String day_time = rs.getString(1); Long total_msg_cnt = rs.getLong(2); p.setDay_time( day_time ); p.setTotal_msg_cnt( total_msg_cnt ); return p; } public static void main(String[] args) throws SQLException { List<Person> hiveData = getHiveData(); for (Person p : hiveData) { if (p.getDay_time() == null || p.getDay_time().isEmpty()) { System.out.println("发现空值:" + p); } } //2.转存到 MYSQL 中。 writeToMYSQL(hiveData); } /* 2.转存到 MYSQL 中。 */ static void writeToMYSQL(List<Person> hiveData) throws SQLException { // 1. 获取 MySQL 连接 Connection conn = JdbcUtils.getConnection(); String SQL = "INSERT INTO total_msg_cnt (day_time, total_msg_cnt) VALUES (?, ?)"; PreparedStatement psmt = conn.prepareStatement(SQL); for (Person p : hiveData) { psmt.setString(1, p.getDay_time()); psmt.setLong(2, p.getTotal_msg_cnt()); psmt.addBatch(); } psmt.executeBatch(); psmt.close(); JdbcUtils.closeConnection(); System.out.println("+-----------------------------------+"); System.out.println("{TASK1-MYSQL}运行完成."); System.out.println("+-----------------------------------+"); } } D:\flinkjava\Java\jdk1.8.0_281\bin\java.exe "-javaagent:D:\jetbra\IntelliJ IDEA 2023.2.8\lib\idea_rt.jar=60730:D:\jetbra\IntelliJ IDEA 2023.2.8\bin" -Dfile.encoding=UTF-8 -classpath D:\flinkjava\Java\jdk1.8.0_281\jre\lib\charsets.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\deploy.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\ext\access-bridge-64.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\ext\cldrdata.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\ext\dnsns.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\ext\jaccess.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\ext\jfxrt.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\ext\localedata.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\ext\nashorn.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\ext\sunec.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\ext\sunjce_provider.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\ext\sunmscapi.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\ext\sunpkcs11.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\ext\zipfs.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\javaws.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\jce.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\jfr.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\jfxswt.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\jsse.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\management-agent.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\plugin.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\resources.jar;D:\flinkjava\Java\jdk1.8.0_281\jre\lib\rt.jar;D:\spark资料\hive-to-mysql\target\classes;C:\Users\sb171\.m2\repository\org\apache\hive\hive-jdbc\3.1.2\hive-jdbc-3.1.2.jar;C:\Users\sb171\.m2\repository\org\apache\hive\hive-common\3.1.2\hive-common-3.1.2.jar;C:\Users\sb171\.m2\repository\org\apache\hive\hive-classification\3.1.2\hive-classification-3.1.2.jar;C:\Users\sb171\.m2\repository\org\apache\hive\hive-storage-api\2.7.0\hive-storage-api-2.7.0.jar;C:\Users\sb171\.m2\repository\commons-cli\commons-cli\1.2\commons-cli-1.2.jar;C:\Users\sb171\.m2\repository\commons-lang\commons-lang\2.6\commons-lang-2.6.jar;C:\Users\sb171\.m2\repository\org\apache\commons\commons-lang3\3.2\commons-lang3-3.2.jar;C:\Users\sb171\.m2\repository\org\apache\orc\orc-core\1.5.6\orc-core-1.5.6.jar;C:\Users\sb171\.m2\repository\org\apache\orc\orc-shims\1.5.6\orc-shims-1.5.6.jar;C:\Users\sb171\.m2\repository\io\airlift\aircompressor\0.10\aircompressor-0.10.jar;C:\Users\sb171\.m2\repository\javax\xml\bind\jaxb-api\2.2.11\jaxb-api-2.2.11.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-hdfs\2.2.0\hadoop-hdfs-2.2.0.jar;C:\Users\sb171\.m2\repository\com\sun\jersey\jersey-core\1.9\jersey-core-1.9.jar;C:\Users\sb171\.m2\repository\com\sun\jersey\jersey-server\1.9\jersey-server-1.9.jar;C:\Users\sb171\.m2\repository\asm\asm\3.1\asm-3.1.jar;C:\Users\sb171\.m2\repository\xmlenc\xmlenc\0.52\xmlenc-0.52.jar;C:\Users\sb171\.m2\repository\jline\jline\2.12\jline-2.12.jar;C:\Users\sb171\.m2\repository\javax\servlet\javax.servlet-api\3.1.0\javax.servlet-api-3.1.0.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\jetty-http\9.3.20.v20170531\jetty-http-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\jetty-util\9.3.20.v20170531\jetty-util-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\jetty-rewrite\9.3.20.v20170531\jetty-rewrite-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\jetty-client\9.3.20.v20170531\jetty-client-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\jetty-server\9.3.20.v20170531\jetty-server-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\jetty-io\9.3.20.v20170531\jetty-io-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\jetty-servlet\9.3.20.v20170531\jetty-servlet-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\jetty-security\9.3.20.v20170531\jetty-security-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\jetty-webapp\9.3.20.v20170531\jetty-webapp-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\jetty-xml\9.3.20.v20170531\jetty-xml-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\joda-time\joda-time\2.9.9\joda-time-2.9.9.jar;C:\Users\sb171\.m2\repository\org\apache\logging\log4j\log4j-1.2-api\2.10.0\log4j-1.2-api-2.10.0.jar;C:\Users\sb171\.m2\repository\org\apache\logging\log4j\log4j-api\2.10.0\log4j-api-2.10.0.jar;C:\Users\sb171\.m2\repository\org\apache\logging\log4j\log4j-core\2.10.0\log4j-core-2.10.0.jar;C:\Users\sb171\.m2\repository\org\apache\logging\log4j\log4j-web\2.10.0\log4j-web-2.10.0.jar;C:\Users\sb171\.m2\repository\org\apache\commons\commons-compress\1.9\commons-compress-1.9.jar;C:\Users\sb171\.m2\repository\org\apache\ant\ant\1.9.1\ant-1.9.1.jar;C:\Users\sb171\.m2\repository\org\apache\ant\ant-launcher\1.9.1\ant-launcher-1.9.1.jar;C:\Users\sb171\.m2\repository\net\sf\jpam\jpam\1.1\jpam-1.1.jar;C:\Users\sb171\.m2\repository\com\tdunning\json\1.8\json-1.8.jar;C:\Users\sb171\.m2\repository\io\dropwizard\metrics\metrics-core\3.1.0\metrics-core-3.1.0.jar;C:\Users\sb171\.m2\repository\io\dropwizard\metrics\metrics-jvm\3.1.0\metrics-jvm-3.1.0.jar;C:\Users\sb171\.m2\repository\io\dropwizard\metrics\metrics-json\3.1.0\metrics-json-3.1.0.jar;C:\Users\sb171\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.9.5\jackson-databind-2.9.5.jar;C:\Users\sb171\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.9.0\jackson-annotations-2.9.0.jar;C:\Users\sb171\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.9.5\jackson-core-2.9.5.jar;C:\Users\sb171\.m2\repository\com\github\joshelser\dropwizard-metrics-hadoop-metrics2-reporter\0.1.2\dropwizard-metrics-hadoop-metrics2-reporter-0.1.2.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-common\2.6.0\hadoop-common-2.6.0.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-annotations\2.6.0\hadoop-annotations-2.6.0.jar;C:\Users\sb171\.m2\repository\org\apache\commons\commons-math3\3.1.1\commons-math3-3.1.1.jar;C:\Users\sb171\.m2\repository\commons-httpclient\commons-httpclient\3.1\commons-httpclient-3.1.jar;C:\Users\sb171\.m2\repository\commons-net\commons-net\3.1\commons-net-3.1.jar;C:\Users\sb171\.m2\repository\commons-collections\commons-collections\3.2.1\commons-collections-3.2.1.jar;C:\Users\sb171\.m2\repository\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar;C:\Users\sb171\.m2\repository\org\mortbay\jetty\jetty\6.1.26\jetty-6.1.26.jar;C:\Users\sb171\.m2\repository\org\mortbay\jetty\jetty-util\6.1.26\jetty-util-6.1.26.jar;C:\Users\sb171\.m2\repository\com\sun\jersey\jersey-json\1.9\jersey-json-1.9.jar;C:\Users\sb171\.m2\repository\com\sun\xml\bind\jaxb-impl\2.2.3-1\jaxb-impl-2.2.3-1.jar;C:\Users\sb171\.m2\repository\org\codehaus\jackson\jackson-jaxrs\1.8.3\jackson-jaxrs-1.8.3.jar;C:\Users\sb171\.m2\repository\org\codehaus\jackson\jackson-xc\1.8.3\jackson-xc-1.8.3.jar;C:\Users\sb171\.m2\repository\tomcat\jasper-compiler\5.5.23\jasper-compiler-5.5.23.jar;C:\Users\sb171\.m2\repository\tomcat\jasper-runtime\5.5.23\jasper-runtime-5.5.23.jar;C:\Users\sb171\.m2\repository\javax\servlet\jsp\jsp-api\2.1\jsp-api-2.1.jar;C:\Users\sb171\.m2\repository\commons-el\commons-el\1.0\commons-el-1.0.jar;C:\Users\sb171\.m2\repository\net\java\dev\jets3t\jets3t\0.9.0\jets3t-0.9.0.jar;C:\Users\sb171\.m2\repository\com\jamesmurty\utils\java-xmlbuilder\0.4\java-xmlbuilder-0.4.jar;C:\Users\sb171\.m2\repository\commons-configuration\commons-configuration\1.6\commons-configuration-1.6.jar;C:\Users\sb171\.m2\repository\commons-digester\commons-digester\1.8\commons-digester-1.8.jar;C:\Users\sb171\.m2\repository\commons-beanutils\commons-beanutils\1.7.0\commons-beanutils-1.7.0.jar;C:\Users\sb171\.m2\repository\commons-beanutils\commons-beanutils-core\1.8.0\commons-beanutils-core-1.8.0.jar;C:\Users\sb171\.m2\repository\com\jcraft\jsch\0.1.42\jsch-0.1.42.jar;C:\Users\sb171\.m2\repository\org\htrace\htrace-core\3.0.4\htrace-core-3.0.4.jar;C:\Users\sb171\.m2\repository\javolution\javolution\5.5.1\javolution-5.5.1.jar;C:\Users\sb171\.m2\repository\org\apache\hive\hive-service\3.1.2\hive-service-3.1.2.jar;C:\Users\sb171\.m2\repository\org\apache\hive\hive-llap-server\3.1.2\hive-llap-server-3.1.2.jar;C:\Users\sb171\.m2\repository\org\apache\hive\hive-llap-common\3.1.2\hive-llap-common-3.1.2.jar;C:\Users\sb171\.m2\repository\org\apache\hive\hive-llap-client\3.1.2\hive-llap-client-3.1.2.jar;C:\Users\sb171\.m2\repository\org\apache\hive\hive-llap-tez\3.1.2\hive-llap-tez-3.1.2.jar;C:\Users\sb171\.m2\repository\io\netty\netty-all\4.1.17.Final\netty-all-4.1.17.Final.jar;C:\Users\sb171\.m2\repository\org\codehaus\jettison\jettison\1.1\jettison-1.1.jar;C:\Users\sb171\.m2\repository\org\apache\hive\hive-llap-common\3.1.2\hive-llap-common-3.1.2-tests.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\hbase-hadoop2-compat\2.0.0-alpha4\hbase-hadoop2-compat-2.0.0-alpha4.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\hbase-metrics\2.0.0-alpha4\hbase-metrics-2.0.0-alpha4.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\hbase-metrics-api\2.0.0-alpha4\hbase-metrics-api-2.0.0-alpha4.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-core\2.7.1\hadoop-mapreduce-client-core-2.7.1.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\hbase-server\2.0.0-alpha4\hbase-server-2.0.0-alpha4.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\hbase-http\2.0.0-alpha4\hbase-http-2.0.0-alpha4.jar;C:\Users\sb171\.m2\repository\org\glassfish\jersey\core\jersey-server\2.25.1\jersey-server-2.25.1.jar;C:\Users\sb171\.m2\repository\org\glassfish\jersey\core\jersey-common\2.25.1\jersey-common-2.25.1.jar;C:\Users\sb171\.m2\repository\org\glassfish\jersey\bundles\repackaged\jersey-guava\2.25.1\jersey-guava-2.25.1.jar;C:\Users\sb171\.m2\repository\org\glassfish\hk2\osgi-resource-locator\1.0.1\osgi-resource-locator-1.0.1.jar;C:\Users\sb171\.m2\repository\org\glassfish\jersey\core\jersey-client\2.25.1\jersey-client-2.25.1.jar;C:\Users\sb171\.m2\repository\org\glassfish\jersey\media\jersey-media-jaxb\2.25.1\jersey-media-jaxb-2.25.1.jar;C:\Users\sb171\.m2\repository\org\glassfish\hk2\hk2-api\2.5.0-b32\hk2-api-2.5.0-b32.jar;C:\Users\sb171\.m2\repository\org\glassfish\hk2\hk2-utils\2.5.0-b32\hk2-utils-2.5.0-b32.jar;C:\Users\sb171\.m2\repository\org\glassfish\hk2\external\aopalliance-repackaged\2.5.0-b32\aopalliance-repackaged-2.5.0-b32.jar;C:\Users\sb171\.m2\repository\org\glassfish\hk2\external\javax.inject\2.5.0-b32\javax.inject-2.5.0-b32.jar;C:\Users\sb171\.m2\repository\org\glassfish\hk2\hk2-locator\2.5.0-b32\hk2-locator-2.5.0-b32.jar;C:\Users\sb171\.m2\repository\org\javassist\javassist\3.20.0-GA\javassist-3.20.0-GA.jar;C:\Users\sb171\.m2\repository\javax\validation\validation-api\1.1.0.Final\validation-api-1.1.0.Final.jar;C:\Users\sb171\.m2\repository\org\glassfish\jersey\containers\jersey-container-servlet-core\2.25.1\jersey-container-servlet-core-2.25.1.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\hbase-procedure\2.0.0-alpha4\hbase-procedure-2.0.0-alpha4.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\hbase-common\2.0.0-alpha4\hbase-common-2.0.0-alpha4-tests.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\hbase-replication\2.0.0-alpha4\hbase-replication-2.0.0-alpha4.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\hbase-prefix-tree\2.0.0-alpha4\hbase-prefix-tree-2.0.0-alpha4.jar;C:\Users\sb171\.m2\repository\org\apache\commons\commons-collections4\4.1\commons-collections4-4.1.jar;C:\Users\sb171\.m2\repository\org\glassfish\web\javax.servlet.jsp\2.3.2\javax.servlet.jsp-2.3.2.jar;C:\Users\sb171\.m2\repository\org\glassfish\javax.el\3.0.1-b12\javax.el-3.0.1-b12.jar;C:\Users\sb171\.m2\repository\javax\ws\rs\javax.ws.rs-api\2.0.1\javax.ws.rs-api-2.0.1.jar;C:\Users\sb171\.m2\repository\com\lmax\disruptor\3.3.6\disruptor-3.3.6.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-distcp\2.7.1\hadoop-distcp-2.7.1.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-client\2.7.1\hadoop-client-2.7.1.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-app\2.7.1\hadoop-mapreduce-client-app-2.7.1.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-common\2.7.1\hadoop-mapreduce-client-common-2.7.1.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-yarn-client\2.7.1\hadoop-yarn-client-2.7.1.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-shuffle\2.7.1\hadoop-mapreduce-client-shuffle-2.7.1.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-mapreduce-client-jobclient\2.7.1\hadoop-mapreduce-client-jobclient-2.7.1.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\hbase-mapreduce\2.0.0-alpha4\hbase-mapreduce-2.0.0-alpha4.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\hbase-common\2.0.0-alpha4\hbase-common-2.0.0-alpha4.jar;C:\Users\sb171\.m2\repository\com\github\stephenc\findbugs\findbugs-annotations\1.3.9-1\findbugs-annotations-1.3.9-1.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\hbase-hadoop-compat\2.0.0-alpha4\hbase-hadoop-compat-2.0.0-alpha4.jar;C:\Users\sb171\.m2\repository\javax\servlet\jsp\javax.servlet.jsp-api\2.3.1\javax.servlet.jsp-api-2.3.1.jar;C:\Users\sb171\.m2\repository\commons-codec\commons-codec\1.7\commons-codec-1.7.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\jetty-runner\9.3.20.v20170531\jetty-runner-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\jetty-plus\9.3.20.v20170531\jetty-plus-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\jetty-annotations\9.3.20.v20170531\jetty-annotations-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\javax\annotation\javax.annotation-api\1.2\javax.annotation-api-1.2.jar;C:\Users\sb171\.m2\repository\org\ow2\asm\asm\5.0.1\asm-5.0.1.jar;C:\Users\sb171\.m2\repository\org\ow2\asm\asm-commons\5.0.1\asm-commons-5.0.1.jar;C:\Users\sb171\.m2\repository\org\ow2\asm\asm-tree\5.0.1\asm-tree-5.0.1.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\jetty-jaas\9.3.20.v20170531\jetty-jaas-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\websocket\websocket-server\9.3.20.v20170531\websocket-server-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\websocket\websocket-common\9.3.20.v20170531\websocket-common-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\websocket\websocket-api\9.3.20.v20170531\websocket-api-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\websocket\websocket-client\9.3.20.v20170531\websocket-client-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\websocket\websocket-servlet\9.3.20.v20170531\websocket-servlet-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\jetty-jndi\9.3.20.v20170531\jetty-jndi-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\apache-jsp\9.3.20.v20170531\apache-jsp-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\toolchain\jetty-schemas\3.1\jetty-schemas-3.1.jar;C:\Users\sb171\.m2\repository\org\eclipse\jdt\core\compiler\ecj\4.4.2\ecj-4.4.2.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\apache-jstl\9.3.20.v20170531\apache-jstl-9.3.20.v20170531.jar;C:\Users\sb171\.m2\repository\org\apache\taglibs\taglibs-standard-spec\1.2.5\taglibs-standard-spec-1.2.5.jar;C:\Users\sb171\.m2\repository\org\apache\taglibs\taglibs-standard-impl\1.2.5\taglibs-standard-impl-1.2.5.jar;C:\Users\sb171\.m2\repository\org\apache\thrift\libfb303\0.9.3\libfb303-0.9.3.jar;C:\Users\sb171\.m2\repository\org\apache\curator\curator-recipes\2.12.0\curator-recipes-2.12.0.jar;C:\Users\sb171\.m2\repository\org\jamon\jamon-runtime\2.3.1\jamon-runtime-2.3.1.jar;C:\Users\sb171\.m2\repository\org\apache\hive\hive-serde\3.1.2\hive-serde-3.1.2.jar;C:\Users\sb171\.m2\repository\com\google\code\findbugs\jsr305\3.0.0\jsr305-3.0.0.jar;C:\Users\sb171\.m2\repository\org\apache\arrow\arrow-vector\0.8.0\arrow-vector-0.8.0.jar;C:\Users\sb171\.m2\repository\org\apache\arrow\arrow-format\0.8.0\arrow-format-0.8.0.jar;C:\Users\sb171\.m2\repository\org\apache\arrow\arrow-memory\0.8.0\arrow-memory-0.8.0.jar;C:\Users\sb171\.m2\repository\io\netty\netty-buffer\4.1.17.Final\netty-buffer-4.1.17.Final.jar;C:\Users\sb171\.m2\repository\io\netty\netty-common\4.1.17.Final\netty-common-4.1.17.Final.jar;C:\Users\sb171\.m2\repository\com\carrotsearch\hppc\0.7.2\hppc-0.7.2.jar;C:\Users\sb171\.m2\repository\com\vlkan\flatbuffers\1.2.0-3f79e055\flatbuffers-1.2.0-3f79e055.jar;C:\Users\sb171\.m2\repository\org\apache\avro\avro\1.7.7\avro-1.7.7.jar;C:\Users\sb171\.m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\Users\sb171\.m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\Users\sb171\.m2\repository\com\thoughtworks\paranamer\paranamer\2.3\paranamer-2.3.jar;C:\Users\sb171\.m2\repository\org\xerial\snappy\snappy-java\1.0.5\snappy-java-1.0.5.jar;C:\Users\sb171\.m2\repository\net\sf\opencsv\opencsv\2.3\opencsv-2.3.jar;C:\Users\sb171\.m2\repository\org\apache\parquet\parquet-hadoop-bundle\1.10.0\parquet-hadoop-bundle-1.10.0.jar;C:\Users\sb171\.m2\repository\org\apache\hive\hive-metastore\3.1.2\hive-metastore-3.1.2.jar;C:\Users\sb171\.m2\repository\org\apache\hive\hive-standalone-metastore\3.1.2\hive-standalone-metastore-3.1.2.jar;C:\Users\sb171\.m2\repository\org\datanucleus\datanucleus-api-jdo\4.2.4\datanucleus-api-jdo-4.2.4.jar;C:\Users\sb171\.m2\repository\org\datanucleus\datanucleus-core\4.1.17\datanucleus-core-4.1.17.jar;C:\Users\sb171\.m2\repository\org\datanucleus\datanucleus-rdbms\4.1.19\datanucleus-rdbms-4.1.19.jar;C:\Users\sb171\.m2\repository\org\datanucleus\javax.jdo\3.2.0-m3\javax.jdo-3.2.0-m3.jar;C:\Users\sb171\.m2\repository\javax\transaction\transaction-api\1.1\transaction-api-1.1.jar;C:\Users\sb171\.m2\repository\sqlline\sqlline\1.3.0\sqlline-1.3.0.jar;C:\Users\sb171\.m2\repository\com\google\guava\guava\19.0\guava-19.0.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\hbase-client\2.0.0-alpha4\hbase-client-2.0.0-alpha4.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\thirdparty\hbase-shaded-protobuf\1.0.1\hbase-shaded-protobuf-1.0.1.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\hbase-protocol-shaded\2.0.0-alpha4\hbase-protocol-shaded-2.0.0-alpha4.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\hbase-protocol\2.0.0-alpha4\hbase-protocol-2.0.0-alpha4.jar;C:\Users\sb171\.m2\repository\junit\junit\4.12\junit-4.12.jar;C:\Users\sb171\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\sb171\.m2\repository\commons-io\commons-io\2.5\commons-io-2.5.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\thirdparty\hbase-shaded-miscellaneous\1.0.1\hbase-shaded-miscellaneous-1.0.1.jar;C:\Users\sb171\.m2\repository\org\apache\hbase\thirdparty\hbase-shaded-netty\1.0.1\hbase-shaded-netty-1.0.1.jar;C:\Users\sb171\.m2\repository\org\apache\htrace\htrace-core\3.2.0-incubating\htrace-core-3.2.0-incubating.jar;C:\Users\sb171\.m2\repository\org\jruby\jcodings\jcodings\1.0.18\jcodings-1.0.18.jar;C:\Users\sb171\.m2\repository\org\jruby\joni\joni\2.1.11\joni-2.1.11.jar;C:\Users\sb171\.m2\repository\org\apache\commons\commons-crypto\1.0.0\commons-crypto-1.0.0.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-auth\2.7.1\hadoop-auth-2.7.1.jar;C:\Users\sb171\.m2\repository\org\apache\directory\server\apacheds-kerberos-codec\2.0.0-M15\apacheds-kerberos-codec-2.0.0-M15.jar;C:\Users\sb171\.m2\repository\org\apache\directory\server\apacheds-i18n\2.0.0-M15\apacheds-i18n-2.0.0-M15.jar;C:\Users\sb171\.m2\repository\org\apache\directory\api\api-asn1-api\1.0.0-M20\api-asn1-api-1.0.0-M20.jar;C:\Users\sb171\.m2\repository\org\apache\directory\api\api-util\1.0.0-M20\api-util-1.0.0-M20.jar;C:\Users\sb171\.m2\repository\org\apache\yetus\audience-annotations\0.5.0\audience-annotations-0.5.0.jar;C:\Users\sb171\.m2\repository\com\jolbox\bonecp\0.8.0.RELEASE\bonecp-0.8.0.RELEASE.jar;C:\Users\sb171\.m2\repository\com\zaxxer\HikariCP\2.6.1\HikariCP-2.6.1.jar;C:\Users\sb171\.m2\repository\org\apache\derby\derby\10.14.1.0\derby-10.14.1.0.jar;C:\Users\sb171\.m2\repository\commons-pool\commons-pool\1.5.4\commons-pool-1.5.4.jar;C:\Users\sb171\.m2\repository\commons-dbcp\commons-dbcp\1.4\commons-dbcp-1.4.jar;C:\Users\sb171\.m2\repository\javax\jdo\jdo-api\3.0.1\jdo-api-3.0.1.jar;C:\Users\sb171\.m2\repository\javax\transaction\jta\1.1\jta-1.1.jar;C:\Users\sb171\.m2\repository\org\antlr\antlr-runtime\3.5.2\antlr-runtime-3.5.2.jar;C:\Users\sb171\.m2\repository\co\cask\tephra\tephra-api\0.6.0\tephra-api-0.6.0.jar;C:\Users\sb171\.m2\repository\co\cask\tephra\tephra-core\0.6.0\tephra-core-0.6.0.jar;C:\Users\sb171\.m2\repository\com\google\code\gson\gson\2.2.4\gson-2.2.4.jar;C:\Users\sb171\.m2\repository\com\google\inject\guice\3.0\guice-3.0.jar;C:\Users\sb171\.m2\repository\javax\inject\javax.inject\1\javax.inject-1.jar;C:\Users\sb171\.m2\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;C:\Users\sb171\.m2\repository\com\google\inject\extensions\guice-assistedinject\3.0\guice-assistedinject-3.0.jar;C:\Users\sb171\.m2\repository\it\unimi\dsi\fastutil\6.5.6\fastutil-6.5.6.jar;C:\Users\sb171\.m2\repository\org\apache\twill\twill-common\0.6.0-incubating\twill-common-0.6.0-incubating.jar;C:\Users\sb171\.m2\repository\org\apache\twill\twill-core\0.6.0-incubating\twill-core-0.6.0-incubating.jar;C:\Users\sb171\.m2\repository\org\apache\twill\twill-api\0.6.0-incubating\twill-api-0.6.0-incubating.jar;C:\Users\sb171\.m2\repository\org\apache\twill\twill-discovery-api\0.6.0-incubating\twill-discovery-api-0.6.0-incubating.jar;C:\Users\sb171\.m2\repository\org\apache\twill\twill-discovery-core\0.6.0-incubating\twill-discovery-core-0.6.0-incubating.jar;C:\Users\sb171\.m2\repository\org\apache\twill\twill-zookeeper\0.6.0-incubating\twill-zookeeper-0.6.0-incubating.jar;C:\Users\sb171\.m2\repository\co\cask\tephra\tephra-hbase-compat-1.0\0.6.0\tephra-hbase-compat-1.0-0.6.0.jar;C:\Users\sb171\.m2\repository\org\apache\hive\hive-shims\3.1.2\hive-shims-3.1.2.jar;C:\Users\sb171\.m2\repository\org\apache\hive\shims\hive-shims-common\3.1.2\hive-shims-common-3.1.2.jar;C:\Users\sb171\.m2\repository\org\apache\hive\shims\hive-shims-0.23\3.1.2\hive-shims-0.23-3.1.2.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-yarn-server-resourcemanager\3.1.0\hadoop-yarn-server-resourcemanager-3.1.0.jar;C:\Users\sb171\.m2\repository\com\google\inject\extensions\guice-servlet\4.0\guice-servlet-4.0.jar;C:\Users\sb171\.m2\repository\com\sun\jersey\contribs\jersey-guice\1.19\jersey-guice-1.19.jar;C:\Users\sb171\.m2\repository\com\sun\jersey\jersey-servlet\1.19\jersey-servlet-1.19.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-yarn-common\3.1.0\hadoop-yarn-common-3.1.0.jar;C:\Users\sb171\.m2\repository\com\fasterxml\jackson\module\jackson-module-jaxb-annotations\2.7.8\jackson-module-jaxb-annotations-2.7.8.jar;C:\Users\sb171\.m2\repository\com\fasterxml\jackson\jaxrs\jackson-jaxrs-json-provider\2.7.8\jackson-jaxrs-json-provider-2.7.8.jar;C:\Users\sb171\.m2\repository\com\fasterxml\jackson\jaxrs\jackson-jaxrs-base\2.7.8\jackson-jaxrs-base-2.7.8.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-yarn-api\3.1.0\hadoop-yarn-api-3.1.0.jar;C:\Users\sb171\.m2\repository\com\sun\jersey\jersey-client\1.19\jersey-client-1.19.jar;C:\Users\sb171\.m2\repository\org\eclipse\jetty\jetty-util-ajax\9.3.19.v20170502\jetty-util-ajax-9.3.19.v20170502.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-yarn-server-common\3.1.0\hadoop-yarn-server-common-3.1.0.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-yarn-registry\3.1.0\hadoop-yarn-registry-3.1.0.jar;C:\Users\sb171\.m2\repository\commons-daemon\commons-daemon\1.0.13\commons-daemon-1.0.13.jar;C:\Users\sb171\.m2\repository\dnsjava\dnsjava\2.1.7\dnsjava-2.1.7.jar;C:\Users\sb171\.m2\repository\org\apache\geronimo\specs\geronimo-jcache_1.0_spec\1.0-alpha-1\geronimo-jcache_1.0_spec-1.0-alpha-1.jar;C:\Users\sb171\.m2\repository\org\ehcache\ehcache\3.3.1\ehcache-3.3.1.jar;C:\Users\sb171\.m2\repository\com\zaxxer\HikariCP-java7\2.4.12\HikariCP-java7-2.4.12.jar;C:\Users\sb171\.m2\repository\com\microsoft\sqlserver\mssql-jdbc\6.2.1.jre7\mssql-jdbc-6.2.1.jre7.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-yarn-server-applicationhistoryservice\3.1.0\hadoop-yarn-server-applicationhistoryservice-3.1.0.jar;C:\Users\sb171\.m2\repository\de\ruedigermoeller\fst\2.50\fst-2.50.jar;C:\Users\sb171\.m2\repository\com\cedarsoftware\java-util\1.9.0\java-util-1.9.0.jar;C:\Users\sb171\.m2\repository\com\cedarsoftware\json-io\2.5.1\json-io-2.5.1.jar;C:\Users\sb171\.m2\repository\org\apache\hadoop\hadoop-yarn-server-web-proxy\3.1.0\hadoop-yarn-server-web-proxy-3.1.0.jar;C:\Users\sb171\.m2\repository\org\fusesource\leveldbjni\leveldbjni-all\1.8\leveldbjni-all-1.8.jar;C:\Users\sb171\.m2\repository\org\apache\hive\shims\hive-shims-scheduler\3.1.2\hive-shims-scheduler-3.1.2.jar;C:\Users\sb171\.m2\repository\org\apache\hive\hive-service-rpc\3.1.2\hive-service-rpc-3.1.2.jar;C:\Users\sb171\.m2\repository\org\apache\httpcomponents\httpclient\4.5.2\httpclient-4.5.2.jar;C:\Users\sb171\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\sb171\.m2\repository\org\apache\httpcomponents\httpcore\4.4.4\httpcore-4.4.4.jar;C:\Users\sb171\.m2\repository\org\apache\thrift\libthrift\0.9.3\libthrift-0.9.3.jar;C:\Users\sb171\.m2\repository\org\apache\zookeeper\zookeeper\3.4.6\zookeeper-3.4.6.jar;C:\Users\sb171\.m2\repository\org\slf4j\slf4j-log4j12\1.6.1\slf4j-log4j12-1.6.1.jar;C:\Users\sb171\.m2\repository\log4j\log4j\1.2.16\log4j-1.2.16.jar;C:\Users\sb171\.m2\repository\io\netty\netty\3.7.0.Final\netty-3.7.0.Final.jar;C:\Users\sb171\.m2\repository\org\apache\curator\curator-framework\2.12.0\curator-framework-2.12.0.jar;C:\Users\sb171\.m2\repository\org\apache\curator\curator-client\2.12.0\curator-client-2.12.0.jar;C:\Users\sb171\.m2\repository\org\slf4j\slf4j-api\1.7.10\slf4j-api-1.7.10.jar;C:\Users\sb171\.m2\repository\org\apache\hive\hive-upgrade-acid\3.1.2\hive-upgrade-acid-3.1.2.jar;C:\Users\sb171\.m2\repository\mysql\mysql-connector-java\8.0.30\mysql-connector-java-8.0.30.jar;C:\Users\sb171\.m2\repository\com\google\protobuf\protobuf-java\3.19.4\protobuf-java-3.19.4.jar com.edu.test.Task1 Person{day_time='null', total_msg_cnt=3735} +-----------------------------------+ {TASK1-HIVE}运行完成.. +-----------------------------------+ 发现空值:Person{day_time='null', total_msg_cnt=3735} Exception in thread "main" java.sql.BatchUpdateException: Column 'day_time' cannot be null at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.cj.util.Util.handleNewInstance(Util.java:192) at com.mysql.cj.util.Util.getInstance(Util.java:167) at com.mysql.cj.util.Util.getInstance(Util.java:174) at com.mysql.cj.jdbc.exceptions.SQLError.createBatchUpdateException(SQLError.java:224) at com.mysql.cj.jdbc.ClientPreparedStatement.executeBatchSerially(ClientPreparedStatement.java:816) at com.mysql.cj.jdbc.ClientPreparedStatement.executeBatchInternal(ClientPreparedStatement.java:418) at com.mysql.cj.jdbc.StatementImpl.executeBatch(StatementImpl.java:795) at com.edu.test.Task1.writeToMYSQL(Task1.java:83) at com.edu.test.Task1.main(Task1.java:67) Caused by: java.sql.SQLIntegrityConstraintViolationException: Column 'day_time' cannot be null at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916) at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1061) at com.mysql.cj.jdbc.ClientPreparedStatement.executeBatchSerially(ClientPreparedStatement.java:795) ... 4 more Process finished with exit code 1
最新发布
06-30
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值