00:00
那OK,那大家使用阿斯卡班的时候,可能会遇到什么问题呢?就可能诶执行到某一半的时候可能出错了,出错之后,呃,有些同学还是不知道怎么去看日志,先把这个事说一下,怎么看日志,点job list,点这,然后后边呢,哪个步骤出问题了,你就去看看哪个步骤的这个details,看明细,这里边的日志才是我们需要的那个日志,然后这个呃,阿兹卡曼这边日志呢,显示的可能不太好看,这边啊,咱们明明是没问题的,但是这边呢,它给显示了一个error,显示了一个error啊,但所以说这边呢,大家不要看这,咱们看看哪呢,看后边,看这里边啊看这个这个如果后边这些都是ino的话,那这个是没问题的啊,就是这边前面这个error这些东西呢,应该是咱们这个日志级别的问题。这是我们MR去打日志的时候,我们日志级别的,可能他这块写用的是error级别的,所以这边它显示error,但其实实际上是没问题的,所以这边呢,大家主要看后边就行了,看后边我们正常mmr的日志看这就行,不要看这个东西啊,这是没问题的,这是第一点,去哪看日志。那第二点是什么呢?就是有的同学可能我这个任务执行到一半的时候。
01:05
执行到一半的时候可能出错了。执行到一半出错了,那出错之后,呃,他就直接就怎么办了呢,直接就去点击这个prepare execution了,直接就重跑了。直接重考了,但是你有些任务啊,你是不能直接重考的,为什么呢?这个给大家分析一下啊,给大家分析一下,比如说咱们举一个例子啊,好多同学这个位置出问题了。这块出问题了,Hdfs to ods DB,有的同学这块出问题了,这块出问题之后呢,他就重跑,重跑后呢,发现就过不去了,就过不去,一直就过不去了,这是为什么呢?给大家想一想啊,咱们这张表里边这个这个任务里边,HDFSTODSDB这个任务里边,咱们是不是把咱们那个呃呃什么呀,把咱们那个呃呃业务系统当中,业务型当中啊,那个所有的表是不是都一块给他从HTFS导入到了这个咱们的ods层啊,对不对,那也就说在这步呢,我们有好几张表的这个导入过程。
02:05
那这里边咱们每张表都是什么,是不是都是直接漏的过去的呀,都是漏的,那这个漏的这个操作在HDFS上相当于是一个什么呀,相当于一个剪切的操作,相当一个剪切的操作啊,那也就是说这边你只要load一下,那数据就会跑到咱们ODI层,Ods层,那可能有同学我导数据的时候呢,我一共是比如说是19张表,我可能导成功了十张,然后剩下的比如说导第11张的时候出错了,出错这停了,停了之后他就直接去重跑这个任务了,把那个错误改了,直接重跑了,那这时候重跑肯定不行啊,为什么?因为刚才你成功的那十张表,它已经到了ods层了,那你HD路径上已经没有它了,没有它,你再去导它的时候,是不是会报错呀,就说那个文件找不到了。对不对,那所以说这是大家这块可能会遇到的一个这个问题,那如果说大家要真遇到了这个问题,那怎么去解决它呢?没有办法,只能再去把MYSQ里边的数据呢,再给他往这边倒一下。再倒一下,重新从头来,然后呢,这边你才能继续往下进行,才能进进行,这是这个问题,那这个问题实际上啊,在我们的生产环境下呢,是呃,应该不会出现这样的问题,为什么?因为我前面给大家讲过了,讲过什么了呢?我们在这个生环境下,尽可能的要把呃,一张表放到一个脚本里。
03:23
一张表放到一个脚本里。大家注意啊,一张表放在一个脚本,那一张表放在一个脚本,还会出现咱们这样的这个刚才所说的这种问题吗?那就不会了,为什么?你这张表是不是只有这张表导成功了,那OK,我我才会呃去跑下一个任务啊,对不对,但一张表一张表的导,所以说它不会出现咱们这个,诶一半的表成功了,一半的表没没有成功,不会出现这样的问题。是这样的啊,那所以说大家这块要注意,以后大家在这个工作的时候呢,呃,咱们这个阿斯卡班的任务,要尽可能的把一张表放到一个脚本里,一张表放到一个脚本里啊,那这样一来就会,呃,去除咱们这个多张表之间的这个相互依赖,相相互影响,相互影响啊,这样这块大家注意到就可以了,OK,呃,那个谢边同学说的也对,说的也对啊,就说如果说你不想从头去导数据,你也可以改脚本,把那个脚本先临时的改一下,就说把那些已经导过的表,你就不要再让他导了,你给它去掉,把那个load语句,然后这个任务执行完之后呢,再改回来也可以也可以啊。
04:25
这是咱们阿兹卡班可能会遇到的一个一个问题,行,把这个视频录一下。
我来说两句