• 2021.9.21 Hive元数据


    一、今日学习内容

        1.

    一、什么是元数据

      又称中介数据、中继数据,为描述数据的数据,主要是描述数据属性的信息,用来自持如只是存储位置、历史数据、资源查找、文件记录等功能。

    二、Hive Metadata

    • Hive Metadata即Hive的元数据。
    • 包含用Hive创建的database、table、表的位置、类型、属性,字段顺序类型等元信息。
    • 元数据存储在关系型数据库中。如hive内置的Derby、或者第三方如MySQL等。
    • Metastore即元数据服务。Metastore服务的作用是管理metadata元数据,对外暴露服务地址,让各种客户端通过连接metastore服务,由metastore再去连接连接MySQL数据库来存取元数据。
    • 有了metastore服务, 就可以有多个客户端同时连接,而且这些客户端不需要知道MySQL数据库的用户名和密码,只
      需要连接metastore服务即可。某种程度上也保证了hive元数据的安全。

    import javax.swing.*;
     
    public class AboutException {
       public static void main(String[] a)
       {
          int i=1, j=0, k;
          k=i/j;
     
     
        try
        {
             
            k = i/j;    // Causes division-by-zero exception
            //throw new Exception("Hello.Exception!");
        }
         
        catch ( ArithmeticException e)
        {
            System.out.println("被0除.  "+ e.getMessage());
        }
         
        catch (Exception e)
        {
            if (e instanceof ArithmeticException)
                System.out.println("被0除");
            else
            { 
                System.out.println(e.getMessage());
                 
            }
        }
     
         
        finally
            {
                JOptionPane.showConfirmDialog(null,"OK");
            }
             
      }
    }

       

       

    被零除  输出by zero

    谁先出异常,就先去catch捕捉那个异常,try。。catch注释后,发现finally都会执行。

           1.把可能会发生错误的代码放进try语句块中。
           2.当程序检测到出现了一个错误时会抛出一个异常对象。异常处理代码会捕获并处理这个错误。
            catch语句块中的代码用于处理错误。
           3.当异常发生时,程序控制流程由try语句块跳转到catch语句块。
           4.不管是否有异常发生,finally语句块中的语句始终保证被执行。
           5.如果没有提供合适的异常处理代码,JVM将会结束掉整个应用程序。

    2.

    public class ThrowDemo {
        public static void main(String[] args) {
            try {
                double data = 100 / 0.0;
                System.out.println("浮点数除以零:" + data);
                if(String.valueOf(data).equals("Infinity"))
                {
                    System.out.println("In Here" );
                    throw new ArithmeticException("除零异常");
                }
            }
            catch(ArithmeticException e) {
                System.out.println(e);
            }
        }
    }

      

     因为浮点数在除0时,他不是把他当做0而是看做是最小值,因此得出的结果为极大值。

       多态可以有多个catch语句块,每个代码块捕获一种异常。在某个try块后有两个不同的catch 块捕获两个相同类型的异常是语法错误。

    使用catch语句,只能捕获Exception类及其子类的对象。因此,一个捕获Exception对象的catch语句块可以捕获所有“可捕获”的异常。
    将catch(Exception e)放在别的catch块前面会使这些catch块都不执行,因此Java不会编译这个程序。

      资源泄露:当一个资源不再被某应用程序使用,但此程序并未向系统声明不再使用此资源时发生这种情况

    finally语句块主要用于解决资源泄露问题,它位于catch语句块之后,JVM保证它们一定执行。
    注意:finally语句块中也可能发生异常,如果这种情况发生,先前的异常被放弃。

    二、遇到的问题

       没有遇到什么问题

    三、明日计划

      明天继续学习

  • 相关阅读:
    OpenGL使用笔记-数学函数
    OpenGL--windows<vs2019>配置
    CTF学习记录--Wireshark抓包工具使用说明
    最小公倍数(LCM)
    CTF学习记录--抓包工具BurpSuite
    CTF学习记录--Robots协议
    ubuntu安装过程中的一些问题
    hadoop优化之拙见
    hadoop map-red的执行过程
    namenode需要升级
  • 原文地址:https://www.cnblogs.com/wmdww/p/14150045.html
Copyright © 2020-2023  润新知