HIVE: 自定义TextInputFormat (旧版MapReduceAPI ok, 新版MapReduceAPI实现有BUG?)

时间:2023-03-08 17:38:33

我们的输入文件 hello0, 内容如下:

xiaowang 28 shanghai@_@zhangsan 38 beijing@_@someone 100 unknown

逻辑上有3条记录, 它们以@_@分隔. 我们将分别用旧版MapReduce API 和新版MapReduce API实现自定义TextInputFormat,然后在hive配置使用, 加载数据.

首先用旧版API

1, 自定义Format6继承自TextInputFormat

package MyTestPackage;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapred.FileSplit;
import org.apache.hadoop.mapred.InputSplit;
import org.apache.hadoop.mapred.JobConf;
import org.apache.hadoop.mapred.JobConfigurable;
import org.apache.hadoop.mapred.LineRecordReader;
import org.apache.hadoop.mapred.RecordReader;
import org.apache.hadoop.mapred.Reporter;
import org.apache.hadoop.mapred.TaskAttemptContext;
import org.apache.hadoop.mapred.TextInputFormat; public class Format6 extends TextInputFormat { @Override
public RecordReader getRecordReader (InputSplit split, JobConf job, Reporter reporter) throws IOException {
byte[] recordDelimiterBytes = "@_@".getBytes();
return new LineRecordReader(job, (FileSplit)split, recordDelimiterBytes);
} }

2.导出为MyInputFormat.jar, 放到 hive/lib中

3.在HIVE DDL中配置使用

create table hive_again2(name varchar(50), age int, city varchar(30))
stored as INPUTFORMAT 'MyTestPackage.Format6' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat';

aaarticlea/png;base64,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" alt="" />

成功load数据-

aaarticlea/png;base64,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" alt="" />

新API

1, 自定义Format5继承自TextInputFormat

package MyTestPackage;

import org.apache.hadoop.mapreduce.InputSplit;
import org.apache.hadoop.mapreduce.RecordReader;
import org.apache.hadoop.mapreduce.TaskAttemptContext;
import org.apache.hadoop.mapreduce.lib.input.LineRecordReader;
import org.apache.hadoop.mapreduce.lib.input.TextInputFormat; public class Format5 extends TextInputFormat { @Override
public RecordReader createRecordReader (InputSplit split, TaskAttemptContext tac) {
byte[] recordDelimiterBytes = "@_@".getBytes();
return new LineRecordReader(recordDelimiterBytes);
} }

2.导出为MyInputFormat.jar, 放到 hive/lib中

3.在HIVE DDL中配置使用

create table hive_again1(name varchar(50), age int, city varchar(30))
stored as INPUTFORMAT 'MyTestPackage.Format5' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat';

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABEEAAAAsCAIAAAAFJjEUAAAgAElEQVR4nO2dZ1hU19bH+TyUYIzGXK9e82ZGbOhhgBmKgMyAVAVRFFRAioCiItGgKJZYUWKLMdegIpIoMSbRxAbGyjVRYpcgBoKFqnTpbWa9H2aAGZizz8yh6/L5fcjDZJ+z9tprl//ZTcvMTizD3N5OxrZvEykOF0EQBEEQBEEQpB+i1a5h7FDDIAiCIAiCIAjS31HWMHZ25vbirYnH+twsBEEQBEEQBEEQlWi1qxc7sYytxxL63CwEQRAEQRAEQRCVaJnbic3t7Czs7CxaZcw2nIdBEARBEARBEKS/omUmFrfNwChpGB2+z6cJp9bPMO9rE5F+B8YGgiAIgiAI0ndomYnFZmKxuQxFDaNnG/sXQOpiK9UpedbOx3Ob6jNj3IR9nQeN4HPXZEDrP9rcaYzREFt/z1CfkQa9kosx9jMO3MgsbwKAlupXD5N3mYzvVTe+pbEx8I1HEARBEAR5J5BrGMXZGPU0jIFD6B0JQN2vQd0lA3oJPWNXE1dPi8D47O7UMELrxBIoTrKeoGFCnjjgPsBfWww0ED/8j5ffaoCaG1+vne4d4BwUGbLS/z+9o53afPiWxkaXjOeZUZHJBVCeMAenpxAEQRAEQXoULTM7sZlYdi6ZRhqGS+lS063cnYbw+jwPbNCz2f6obzXMWCeXQK8RYywdz76pvhw2bIyNwC9o9Fi13jU54TWU/igy7DvvvdWxobnxJiM9ondfLwIAgArUMAiCIAiCID2MllAsbjte2ayzhpFWVNYDANQ9+/2Yl7Uph0uRlmPxbOelNkHpT+3D63GeMbnQcGPFCB7F4VJ6wsDVZ9ILmwCgpSTz0rp5trpcisOl3rNZsSp6keFEvobW84e5b//2QVEtAABI6kofJy0e3jr0pHuX/FcaDUNKNc7RLfbcH7nVUgAASXX+7Y2uAg6XGuL1azl0+Fd32teSbPxgj+MFAFD66OyfpaUPbtwuBYBX+2cwrF9S9a5n0fYmMm8Mn7Pzm98eZZfUNMl+efNgjYOsyCh9q2XbL+dUAIC0MuO3bzysZH8Xmu25/aIWABrz7l5ITM2tAUnZ46TZFsZkM3ozNsgB8Mmy5OyqFgAAaCx4cCbczVKn9Vf9yUu3XsoqkwAASGpeZdxMdBPwialI6wx1hGH7f8/Oe9MIAAA1OTcT59oI5L+OnxObXfr4/AGf8J8KVWkYXfOIb/NaWvLPeZtrGuEIgiAIgiBIZ7SEdkQNk/tjzPygxTMjD1+rAumjHRPGUBwupWfkRDl6mPodzuo41OOPWp7WrDAW13f8OhuaroSLdLiU9iS/fc+g8enplaEBtvMiN10rh6Z7y6YYc7hG//L57n41gORV6vd7Zjtb66lpvaHfkVKou3s0aIGf9Uz/aUs2Llvkos+lOKR3ydOq1DCkVAYO/ilvACpSv90dHLZkWkBEQPQ6G2M+h0tpTxBPdPD2O1sJFcl+bh58Rw++o9snhoyjVf4QS0+HiKN/NgA0pO9dEWxuM5kx4yreNdVluHz2xpS/9yXAy4StUZ4LFjr4LJ4TvmySIcXhUtrGwYeKAPJTopcv8YjYf7oAoOiUs7ERh2vpdrUR/ombMSfySBFAdvxsn40nS+H1Cd8PiGb0YmwwOOR90RLf0BDxTB/7hTHfPgcoPmkryzJ/YVwBQNHVTSuWuvgtXXgsDyB7tciEnIreeHmWc45tmOW/ePbq+BvVAE/2TGqdN9PmGXG41OAZxwtUaZgPPH8sBgAoj59t1ot1G0EQBEEQ5G1FS2gnFnbQMLL7YZTXCxmP25wFkB5q0T40VykDdMyjrjVD7iHv97kUhysw/SoP6q7PMTXicPm8qIctjWmBrU/QNv3sajOkb3aRD9zH2JqH7UtIK2oBKHl0fvPyeaMYF1bxw1OaoCBpyccdd4MwvUu18aRUQ7x+LgHJrc9d9VUbw2Y/jDY1f9ODhro/96/7o67+0UFbIzU/0tO9y5S/9yXUXXGd1NEbBuvSAZ5vdpLPGwxyOZgFkBbtqMu1dLvaKL2zcjjXcvpvDdK7q0bwLF2S66T3144irqTq7dhQj4+CbzZCTrS9CYfLH73mkRTydk6TZ3lY6B1FDUOTimR8hyyP/fwpwJMlVkpFRqdhOAZip81Hd28J7hSoCIIgCIIgCAvkGkZo174lRqWGoYb6X6uDl1ucTNsSq16OxZvidbUBChMtJ1Cc8d57C6Dil5BhXIrDtXA6V9NxGRTAq+98BisZZDRkSvDKX3IBoPKXoKEM1guNoi/nAUDZkzPxO2c5Tm5dfcT8LlXGE1KZTNr5DCA9hHYtEAsNY/TRvBNPa5/FupsNdv1vRu3zr+dba6uVUFMNY+l8oRaKf5jStojL0OebYqg6GzxUQcO4ptRL70WN5Fk4nauRPlz38WiSDX0UG50xHuWzN+leXlm9RNpY9bqsBSBvu7NA/kCFLUPKGoYuFcn4jln2u1ILuVsVsswhaBgEQRAEQRCkO9ES2okFdiKhwjzM1gSVGsb3UrXyUE9XPtSzVn6i0TDf8xVQGudpPtT7dAm8PuAhWz9j6XyhFsrO+chXW8mYYWgmbB+4G1ibhOw69Ht+E8CbzEubg+zV+QyvL/Seu+34r5lVAA1340JGGKj1LlXjVEIqk4kxOQCPg7pTw1AcrpH+RDM9LsXhmQylBOoJGMK7iBqm5JSihonrpGFcLtY03VnFUsP0Qmyo4j1x7F0JlKfG+fvON5vu477zQaPcDEvXlHpFFylqGPpUJOMZs8xBDYMgCIIgCNJLaAnFIqFYZCabjRGLzezEmxISKY4agzYd8+g0gAfrHDvuvR7vvScfqpI3LL1eL83cNXGM7O/80WsfS6Fg30yLzgNTfXO/4APJ9ysAoCzt9AFfd9F7muaEZ2YS8wTg+XrZUiL6d8mNt9h4F+Duanud9j+SUg31OlMKTanRLjSGCYQHC6A62bmjfugJ2K0le7HZmbCWrO1/7h4N042xQeDDoJuNkBfjIn/v0HkX3sjNMJkU+wzg71Wti8cUNQx9KpLxXdIwPLPxfmsXBroN0IPaEARBEARB+hntGsbMTiwUi4VitTUMZ7z3vkKA3F8+DQufH7Uj0KHtJ+NxGx+3AADUXVwqbhMJ2kYBX+UC1D1JjF03J2CxR9iGVVuXG4yhOFyjjwKTX+b+eXh7OJ+vycFNlP/2HxJXRYRNnTnPZt6KNSml0HI/ZDKf+K5WDP2OlILkadKi0PD5q7cvmCpgSDXGJSy1FqAi9bvdQYvCpgWEz4+KkaXicCkO1+jfi27UQeOdIxtm+Yd5rd650LHnbkjUVMNQ2sbBh4sA8i9tiAj3XHngl0KlPf09oWG6LzZI6NvvSwcoTN47d57PZA9ftx332mZU9KzWX66H5qc/r1y61DNix/7bNW0ahpCKYDwxy0bvm7ubunpaR1wshZqzkT4C1xk8hUMd3p8W/wIAoPTQLNzTjyAIgiAI0nW0ZLpFkc+PqrofRtWHZ/5I30PXC5sAQFKRGRc4pX1Iyl+UVAmQn2CpPM7WFQRE/njvuWzvQ8ub7Ov7BLIL5nl8jT7Ay58mXLTjalax7LRbaHz99MYXi5wGMb5LjvEnIcdvFUsAoKX8SVyA3HhCKu0JrrP2XEzLl53kDDVFjw8G2bZP44x18fvuYWEjAEBzWcZBfxsdzXOkHhprGA6X0rcK33HteRUAQPXf1w7Nkh+F3GMaphtjg4RgfFhCSnZ5AwAASBuq8jPOB9rITjPj/2tW7MmMcgkANJdkZNcBZH1ma8yUitZ4YpaFlvGvlPfy1Pww36LdXTYbr9QBQP2vCxhO3EYQBEEQBEHUgF7DIMjbgvGErVnQkjbXxKhvDDCwdTz0QlJx3t24jwxAEARBEAR5q2jTMKI2DbMxPqHPzUIQisOltCfY86d7W7p3YvpMriFRD0z0CovZ6hsUPNU7xGv9iVt1UH0lsk+ONtY1X3W2DKDsj3WzrHpsag5BEARBEOSdQsU8DGoYpL8weMbxgs6HLgMAFH/tQdpxpGe99vunFbJlhpKqvNSkLZM12mrVjRiILL08R43DGRgEQRAEQZDuAjUMgiAIgiAIgiADCdQwCIIgCIIgCIIMJORnKyuCGgZBEARBEARBkH6LllAsEohEApFI9h+oYRAEQRAEQbqZQXZrdyb+d7pZH23O7BV0hUsP/PEg3qePLxLQ4ft8mnBq/YxOV04jbxVaQrFYIBYpsvHo0T436x3BaIitv2eoz8jO52XxrJ2P5zbVZ8a49dxdmZivtw96z5MZYz/jwI3M8iYAaKl+9TB5lwnz5Tz9xvj+YEZ3Bjafuyaj7fCKtiuJBpI30MIBZuE7SN8UyrDQO223LQ8QNHZUh7vUegMD19V/A2RsNVAwksGMAT0U6QnjVflwIKAlEIsEYrGgTcnYiTYek83DGDivyOxwGJTkWvDktsS6kzf+LgGArCg7hQo5xi36H+VEOV9OGqvwwNvLh6lwX+d3yW4J5I8MvfBPrQQAAOoLntz4cpX3MOL1i+owWBy5L/V5hQQAoL4k58qxVWOYroTvGehuq6Q4Bg6hdyQAdb8Gqd0Q0PpwgOerK/DMqMjkAihPmKPJxxhyKp6FcFtaNcA/X84cxPgoQnXoZc+T4H+8/FYD1Nz4eu107wDnoMiQlf7/6YOGjJ3x/cOMbg1sPWNXE1dPi8D47L7XMJp7o5/EPFP/1a99SKAftfMDmr5pbQaghtHYUX2hYRyX/QXwaMP/KQwOGczo5aFIN+eXrfGEsY0qHw4E5BpGaCfXMEI7sbKG+StW7OopkDNz7KS2OVCTiduzmor/uFEOOQc8FQZzpiPEswTTgj//GyDrgPM0T1O7Kfo8hQcSNIzSu2bwDPmtnyT/2RLoNzVg9eoTD98AZB1d+K+ueHmC9958gPxL68NDxLMXzlnz9b4v/D/i9Yn3Sa2DLjXdyt1piPqG0fpwgOeLJSYjPaJ3Xy8CAIAKtTUMYyqB0ee3Kpsq1dUwhOrQ654npJqc8BpKfxQZ9nSh9ITx/cWMbg9sPZvtjwaihuknMc/Qf/VzH9LTj9r5AQ1qmJ5yVB9oGK7NvDRpy81wxbEloxm9NRTpETQ3nnFso8KHAwEtU5HyPIxYtP5oPMXhEiUHl+KM84x52ZyxY5Zw93PpqxNWHeJ7tDjwAcDDdR8rig1GDaPiJ5mGeeBnKrteQzBpa3oL5O5wFbSXpXnEt3ktLfnnvM3Vasf1bGIegzR1iY3qX4WBq8+kFzYBQEtJ5qV182x1uRSHKzTbc/tFLQA05t29kJiaWwOSssdJsy2MZUZ+siw5u6oFAAAaCx6cCXezlN1mqCMM2/97dt4b2T0lNTk3E+fayC0f4vVreYevaVB32teSeSXJOEe32HN/5FZLAQAk1fm3N8q8QetD49Errr+BipNhdrpcisPlfxyWUg6vDvva6JAfSOsNSkcY9lXai+J6AABoLn1wfr+ruUkX86VvtWz75ZwKAJBWZvz2jYeVKYfJhyTGz4nNLn18/oBP+E+Fqmqs6rBhSMX/94JTz2ufbPMNT6pUU8PQVgdCvgjuHeR6+LnCZ1fFHpHe8yTbVKV6Fm1vQi4UDpc/fM7Ob357lF1S0yRL9ObBGgdT1jWFlfGkdxEcxeHyh7lv//ZBUS0AAEjqSh8nLR7OY20GIbBJFhJKubWlUq1hWLVRpLqseRs1EGKe2H/178AmQsoXnfHkn1h4g8FIFsHG4ZJ6IjoLCbHBOrDpjCd7gz6V0VCnDYfvvm4EgOaS9Kc16mgYsqMIFtLFIbuiJDuKrlCUxMNoG4e4rOaWrN3e1jpdiQ0GLBx+KS/63u8DxSC0jf0LQFpRWQ8AUPfs92Ne1vK6QNti82znpTZB6U/tn/PGecbkQsONFSN4ZM8TIBQKpT956dZLWWUSAABJzauMm4luAj4xFWkcRfIh04hIpQ8HAlpt0sVUpImGeX/a0RdNTz6dYvye3Z4MSacLB3tKw1DapiuuNEPOV7Paho8feP5YDABQHj/bTK08UwuPV0DNzRjTiR2vHdSe5LfvGTQ+Pb0yNMB2XuSma+XQdG/ZFGMO19LtaiP8EzdjTuSRIoDs+Nk+G0+WwusTvrLyfl+0xDc0RDzTx35hzLfPAYpP2hpSnNZalHNswyz/xbNXx9+oBniyR7asQnuCeKKDt9/ZSqhI9nPz4Dt68B3dPjHkc7iUnpET5ehh6nc4q/MIxsDBP+UNQEXqt7uDw5ZMC4gIiF5nY8xncO9om2lJr6Dh7gp7gZ5V9MUaafYh36E8hgfSe0Oer+wjUdN9Qz3XxF8pA8hPcuAbsc6XtnHwoSKA/JTo5Us8IvafLgAoOuVsbET2IRltnhFHfkumihpLFzaEVHqWUWfLy88sd9AzDDjeZQ1DyBfBvYQ+m+B5kpc6p5rqMnwsQ6FwuKb8vS8BXiZsjfJcsNDBZ/Gc8GWTDCnWNYWV8aR3kTSMod+RUqi7ezRogZ/1TP9pSzYuW+SiT+cNNXxIH9gkCwmlLH+sKg3Dro1irMuatlEDIObp28N+H9hESP0ynfGkn1h5g9iksAo2Uk9EbyEhNtgFNsF4kg/pU+marfi5EiTPzkWFL529clfc/Tp1NAzJeJKFtHHIsigJjmLqslMXW3EMxO5Hs5san3wxX/7BlGVsMMMf5bNtmdcU3U4+zP0xZn7Q4pmRh69VgfTRjgljyC02f9TytGZ4tX+GfECr7/h1NjRdCRfpMHmeAG3jwF8YVwBQdHXTiqUufksXHstTjA3aUSX9OIrsQ/KISKUPBwJabQJGrmFI+2EydxnK940ILA4XNaZvG2tAcca4r/9HWnhs/mDF57LTMIr/7qwczqU6axjOeO99BVCTEjq0Pa3YafPR3VuCP1Z3BT//I49dv+ZLoO7Z+aPbXEXm2q1/50U9bGlMC7SQdzDapp9dbYb0zS56XEu3q43SOyuHcy2n/9YgvbtqBM/SJblOen/tqE5zeR8F32yEHNmXbOXZTOOxnz8FeLLEqq0DI83SqhzBDPH6uQQktz531dfAhxSHS2kbem/NlMCLi/EPG1oyDwgNGR9I8EbHWdrBbkeegfRWlIMuy3zxDdalAzzf7CT/ZjDI5WAWQFq0oy6zDxmgrbHEsFGRysAxJLWq6PTSkaMpTvdpGJX5IriXOL3A4Hl6VKYiFYq8R6y74jqpw6NY1hRWxpPeRXIUPzylCQqSltC0GCwXmagKbJKFTJVIdU1h1UapX5c1a6P6dczT9l/9P7CJkNp5OuMJP7HzBgGWwUboiQgWMmoYDQObZDzBh/SpjMdveqq4Z1jNtWT0xpMtJMQhi6IkOYqxy/7fCv+lKSWSipufTbdUY4jV1Y6e0YfjNmcBpIdatD9Q5RBLxzzqWjPkHvJ+n0txuALTr/Kg7vocUyONPE9AoVD4o9c8kkLezmkCxtjo1KSoNl4dH9JrmAGKVodDyQRiEe1+GBOxjbx9Ge+1N7/p3gan1or9QlqYaKl4kBE7DZOxy8Hd29Ld29Ld20w8WbbwSYWGKVTWMOwwsJwUsP3Lqy+boObW18EjDCgO18LpXE3HiVOAV9/5DFbowFxT6qX3okbyLJzO1UjlGTQe5bM36V5eWb1E2lj1uqwFIG+7s6BTSFFD/a7UQu5Wp7YJXE3H+iaTdj4DSA9RuWqO1ody9O12pLUAwPMtzgI1HkjwRqeVpoY+ccVQdXbhUJb5snS+UAvFP0xp+yxk6PNNMVSdDR7K7EMG2NXYTqn4oxZfLn9z3UfmqO7XMEr5Iri3FzUMqVDUGeppVFNYGU96F9FRQqPoy3kAUPbkTPzOWY6TdZm9wQxZw3S2kKkSqXwguzZKg7qsURvVr2Oetv/q/4FNhNTOs9Aw7LxBgF2wEXoikoVqaxg1A5tkPL03SLXSJbkOik/atL6FlYZRNJ5sISEOu1fDMHfZ0AggfbLGQXE9WFcaIo3p+ED/a3XwcovCA1Uv1uVN8braAIWJlhMoznjvvQVQ8UvIMObYIEBXKBZO52oUt6Eqxwa5SVFHw6j24bugYTYkyM5Wppccg5zjcjoWZd52F4Vg7em1ZEqnCHQF0/FRv9dA6TczzeTVsuycj3zOVMYMQzOhtkIH5nKxpunOKsUO7D1x7F0JlKfG+fvON5vu477zQSOdhvG9VK1236Yrj1FrhT+aTIzJAXgcRNAwdPuXuCbj1/5RDdIWgOzDCz7kMT6Q4I1OA44JPgeLofpcsDoaRlW+LJ0v1ELJKcUGMY5Ow3T0IQPdo2F4tgvudG6+oPnhZrUOIlRnPKeQL4J7B7nE5UDdGT/5iuQe1zA0haLOUE+jmsLKeNK7mBxF6Qu95247/mtmFUDD3biQEe3lyHZPv6rAJljIVIno1b7GbZQGdVmjNqpfxzxte9j/A5sI41oyFhpGY28QYBdsTD0RjYWE2GAV2CTjGXxIUytlxtuqHqfSQm88yUJiHPaAhiF22Vknf/qzHpozEpxN+UqpWDZEGsP4QFUtNsXhGg3zPV8BpXGe5kO9T5fA6wMeZmrEBi30hWLpmlKv6FjF2GBqUlQbr44P3z4N07YNxlQkMlVvP4zppC+eSwpPek5rLUj3qB8r4Wms+3tt/09PaRhTw02PWyAvdppCqRiIHTfFa7KWTAldm20PAf5YPkWbyx+99rEUCvbNtOgUlG0dWNtf2juwD4NuNkJeTKuEGzrvwht1NYxAeLAAqpOdVTUrOubRaQAP1jkqfiQe6nWmFJpSo13e65wXUt9mNHTGN+ktjb9v8eRH366F0sSgKToMDyR4o2O+3rPf9wTg/kbn1klVTfMlm5h+sdmZdmK6+zUMMWw6z8N8aOPe3nLNWHe+FvKPLxfYWKk1j9y18Zyie3Unb7oLkL7ZVfbeTj0iyfP0EFYLqC4UNYZ6mtUUVsaT3sXkqFZ4ZiYxTwCer7fvog9VBjbJQqZKROlYbLwLcHe1vU57cnZtlAZ1WaM2ql/HPH2f0r8CW9P+q5s1DDtvEGAZbISeiGAhITZYBTbJeIIP6VPxDaIfA+TFtt7j0WUNQ7KQGIesNYxqR6nRZVsPtlt3sgikOSemt+5T70JDpDGMD1Q5xOJwKc547z35UJW8Yen1emnmrolj1IkNWugLxWRS7DOAv1eJVKwzZGpSVBv/zmoYBWwFYlF0/BGKw6VvKw2cP82A6vMh7au5eFPm/94Cf20fa0Axn62sdCikJ9/aQof0U+vZygE+tvMjlh2+XQKQkxg8XKFf/MDzlEZ7+vUmf/bVD0cili2ymzlftGDttuvlAFnrHUw5XErbKOCrXIC6J4mx6+YELPYI27Bq63KDMRS5A9O335cOUJi8d+48n8kevm477qk9D2P070U36qDxzpENs/zDvFbvXOiocDTCeO99hQC5v3waFj4/akegbE52jEtYai1ARep3u4MWhU0LCJ8fFbNgqoDsXm2jwK/zoTJl1ScGFMdg6oLLNVBxcbaQT34gvTfk+aq9/8PqlRGzlu/5/jnAm9+82+8e1jhf2sbBh4sA8i9tiAj3XHngl0JVGwTpq6UqjN43dzd19bSOuFgKNWcjfTqcQEoTNgyp5Giwloy2OjCO51S7d4zrykdSqLmzK3KZi+/iBYdfKPeIRM/Tovo7MaFQ2A31CDWFlfGkd5EcRflv/yFxVUTY1JnzbOatWJNSCi33QyarF70EVAQ2s4ahr0TyswckT5MWhYbPX72dqVaS3sVYl1m2Uf055ol7+vtPYGvaf5G6UTYahp03SLAMNkJPRLCQPjbYBTbBeJIP6VNp84MPFQJUpO2J/tRtQZj/kZdd0zCkdxHjkLWGoXGUel32e1arThZD818HbSgj9rHBCuYHqhxicSkO13jcxsctAAB1F5eK2z4hEWODFtL40Gr95XpofvrzyqVLPSN27L/dfmYdU5Oi2nhiltUb2ww8VGiYdfHEeRgd87U3JfCn0tdBk4kxOSC5H2TOZ77jUvlf47WwD0k/8UeGXsypkwIAQENh5o39UXM7XA6jax7xnSZnK+tPidyVkv6iSnZvZkPB40ubAqa2ffvRFQRE/njvuWzdY8ub7Ov7BOMphtESVzA+LCElu7wBAACkDVX5GecDbdqP2iDVorEuft89LGwEAGguyzjob6P4zXWk76HrhU0AIKnIjAuUz5xoT3CdtediWr7sYFioKXp8MMhWh+BDnqXt0UKoTPFqHR7pWW+80QiFJwJkK8poH0jrDXm+qv/OftUCAM2F939a5KL8cULzfOlbhe+49rwKAKD672uHZlmrOqhRg6ZNaBn/StkZSjfB0YQNQyo56msY+urAOJ6jc6++Vfiu/+VVywu4MufuyZmKA1+S52l9RbfWha5Q2A31CDWFlfHkd9E6Sle4aMfVrOJG+Q+vn974YpGTUlGy8aHKwGbWMKRKxDX+JOT4rWIJALSUP4kLmEKslQzeINdltm1UP455hrOV+0tga9p/kbpRVhqGlTcYYBdshJ6I3kLa2GAd2HTGk71Bn4rSt1y8KflpseyY3ObKZ3eSPIRMRx0Sjad/FyEOWWsYWkep2WUPdtl3TwIlZ8JHdrEh0hA1Hqh6KMLhUtr8RUmVAPkJlsp9IqGU6SEUCv9fs2JPZpRLAKC5JCO7DiDrM1tjplS0xhOzrN7YZuChJRCJBCJbgUgkEImEYpGChkEQGvriEqt3CHTvuwCWMnoDQRCEw6U4XOMJW7OgJW2uScc7PxAiShpGIBaZim1RwyAM4IAD3Yt0ESxl9AaCIAMd7Qn2/OnyQwKVmD6Ta0gUJBO9wmK2+gYFT/UO8Vp/4lYdVF+JZLev+x1GWcOIRKYi29Y9/QhCAw440L1IF8FSRm8gCDLQGTzjeEHH1Z2yf50uf1dGz3rt908rZIuaJVV5qUlbJvPfgg0qvQzOwyAIgiAIgiAIMpDA/TAIgiAIgiAIggwktExtbWUaRiiWT8W03nGJIAiCIAiCIAjS79ASiGwV90Nco3kAAAF/SURBVMO033Gpw/f5NOHU+hlvzVU4bwM6RvPCD3+/1l29mwS6+C4MAI3hf+gee/reaS81j0l9G+nJsOk+9xrYu0Qs/ITpaH8EaWPABzbGPIIgbxtarerFVjYh074fhmGTJc/a+XhuU31mjJt6F8C9DRgNsfX3DPUZ2W0HR2j8QPpCkV0GKv/XLVtj3+YA6BHjjYZM//J2I7z53y5L6t3VMD22Obs73TvI+UA6QNnlzZM6XYkzAGAZvd3efLGzsBfN6FYGemAP7JhHEARRgZKGMdVAwxg4hN6RANT9GvTunCRDexVgrz2QUCh6xq4mrp4WgfHZvaNhBnQAsDaeZ0ZFJhdAecKcjp9jtfkLDxVB4/09AvJxim87PTTUo3PvIJdDz5SOgnngZyr/H3SMF0SdzyqXAkgr/7qwx85EcYDI/0/g9/8A5CctHjG6O+3sDVhGb7c3X+ws7EUzupVeDexxLnMPXL7/uhEAoKn04YUvHQXt0cs2sAdyzCMIgqjg/wHD6bSFpMZ6tgAAAABJRU5ErkJggg==" alt="" />

出错了!

把Format5放到MapReduce中debug一切正常(http://www.cnblogs.com/silva/p/4490532.html), 为什么给hive用就不行了呢? 没明白.. 有知道的同学请指点.谢了!