Golang中的异常处理

Golang的异常处理和单元测试

  • 1.Golang语言中没有其他语言中的try...catch...语句来捕获异常和异常恢复
  • 2.在Golang中我们通常会使用panic关键字来抛出异常,在defer中使用recover来捕获异常进行具体逻辑处理
  • 3.Golang中我们通常会在函数或方法中返回error结构对象来判断是否有异常出现

注意事项

  • 1.利用recoverpanic指令,defer必须放在panic之前定义(panic会终止其后要执行的代码).
  • 2.recover只有在defer调用的函数中才有效,否则recover无法捕获到panic.
  • 3.recover处理异常后,业务逻辑会跑到defer之后的处理片段中
  • 4.多个defer会形成defer栈
  • 5.panic会等到整个goroutine退出才会报告错误

使用Python来操作Hive中的数据

背景:在整个运维内部数据仓库构建中,我们使用了Hadoop大数据生态圈中的组件来支撑运维数据的数据仓库构建。我们使用了Hive作为数据仓库工具,同时使用Hue来对整个运维数据进行管理和查询,最终根据部门需求生成结构化数据存入关系型或K/V型数据库,以供其他部门进行商业化决策。但是在使用command-line方式和hue上操作hive时,经常会有些许问题,并且灵活性交差,因此为了改善数据到Hive的加载过程以及对Hive库中数据的操作,借此机会使用PyHive库进行操作管理Hive.

本篇简单记录下使用Python操作Hive。