org.apache.pig.data.DataByteArray类的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(14.4k)|赞(0)|评价(0)|浏览(175)

本文整理了Java中org.apache.pig.data.DataByteArray类的一些代码示例,展示了DataByteArray类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。DataByteArray类的具体详情如下:
包路径:org.apache.pig.data.DataByteArray
类名称:DataByteArray

DataByteArray介绍

[英]An implementation of byte array. This is done as an object because we need to be able to implement compareTo, toString, hashCode, and some other methods.
[中]字节数组的一种实现。这是作为对象完成的,因为我们需要能够实现compareTo、toString、hashCode和其他一些方法。

代码示例

代码示例来源:origin: apache/hive

switch (itemType) {
case BINARY:
 result = new DataByteArray((byte[]) o);
 break;
case STRUCT:
 result = new DateTime(d.getYear(), d.getMonth(), d.getDay(), 0, 0, DateTimeZone.UTC);
 break;
case TIMESTAMP:
 result = new DateTime(((Timestamp)o).toEpochMilli(), DateTimeZone.UTC);
 break;
default:

代码示例来源:origin: apache/hive

switch (type) {
case BINARY:
 return ((DataByteArray) pigObj).get();
 List<Object> all = ((Tuple) pigObj).getAll();
 ArrayList<Object> converted = new ArrayList<Object>(all.size());
 for (int i = 0; i < all.size(); i++) {
  bagContents.add(getJavaObj(needTuple ? bagItr.next() : bagItr.next().get(0), tupFS));
 BigDecimal bd = (BigDecimal)pigObj;
 DecimalTypeInfo dti = (DecimalTypeInfo)hcatFS.getTypeInfo();
 if(bd.precision() > dti.precision() || bd.scale() > dti.scale()) {
  handleOutOfRangeValue(pigObj, hcatFS);
  return null;
case TIMESTAMP:
 DateTime dt = (DateTime)pigObj;
 return Timestamp.ofEpochMilli(dt.getMillis());//toEpochMilli() returns UTC time regardless of TZ
case DATE:
 if(dateTime.getMillisOfDay() != 0) {
  handleOutOfRangeValue(pigObj, hcatFS, "Time component must be 0 (midnight) in local timezone; Local TZ val='" + pigObj + "'");
  return null;
 return Date.of(dateTime.getYear(), dateTime.getMonthOfYear(), dateTime.getDayOfMonth());
default:
 throw new BackendException("Unexpected HCat type " + type + " for value " + pigObj

代码示例来源:origin: elastic/elasticsearch-hadoop

object = pt.getTuple().get(0);
  type = pt.getTuple().getType(0);
} catch (Exception ex) {
  throw new EsHadoopIllegalStateException("Encountered exception while processing tuple", ex);
  to.bytes(dba.get(), dba.size());
  return;

代码示例来源:origin: org.apache.pig/pig

} else if (obj instanceof DataByteArray) {
  if (null != caster) {
    result = caster.bytesToBag(((DataByteArray)obj).get(), fs);
  } else {
    int errCode = 1075;
    String msg = unknownByteArrayErrorMessage + "bag for " + this.getOriginalLocations();
    throw new ExecException(msg, errCode, PigException.INPUT);
    result = caster.bytesToTuple(((DataByteArray)obj).get(), fs);
  } else {
    int errCode = 1075;
} else if (obj instanceof DataByteArray) {
  if (null != caster) {
    result = caster.bytesToMap(((DataByteArray)obj).get(), fs);
  } else {
    int errCode = 1075;
switch (DataType.findType(obj)) {
case DataType.BYTEARRAY:
  if (null != caster) {
    result = caster.bytesToBoolean(((DataByteArray) obj).get());
  } else {
    int errCode = 1075;
switch (DataType.findType(obj)) {
case DataType.BYTEARRAY:
  if (null != caster) {
    result = caster.bytesToInteger(((DataByteArray) obj).get());

代码示例来源:origin: org.apache.pig/pig

return new DataByteArray(data.getBytes());
case DataType.DOUBLE:
  return Double.valueOf(data);
  return Long.valueOf(data);
case DataType.BIGINTEGER:
  return new BigInteger(data);
case DataType.BIGDECIMAL:
  return new BigDecimal(data);
case DataType.DATETIME:
  return new DateTime(data);
case DataType.CHARARRAY:
  return data;

代码示例来源:origin: org.apache.pig/pig

return extractString(bytes, startIndex, endIndex, true);
} else if (fs.type == DataType.BYTEARRAY) {
  return new DataByteArray(bytes, startIndex, endIndex+1);
  return ToDate.extractDateTime(val);
} else if (fs.type == DataType.BIGINTEGER) {
  return new BigInteger(val);
} else if (fs.type == DataType.BIGDECIMAL) {
  return new BigDecimal(val);
} else {
  throw new ExecException("Can't deserialize type: " + DataType.findTypeName(fs.type));

代码示例来源:origin: org.apache.pig/pig

return BigInteger.valueOf(((Integer)o).longValue());
    return BigInteger.valueOf(((Long)o).longValue());
    return BigInteger.valueOf(((Float)o).longValue());
    return new BigInteger(((DataByteArray)o).toString());
    return ((BigDecimal)o).toBigInteger();
    return BigInteger.valueOf(((DateTime)o).getMillis());
  default:
    int errCode = 1071;
    String msg = "Cannot convert a " + findTypeName(o) +
    " to a BigInteger.";
    throw new ExecException(msg, errCode, PigException.INPUT);
  int errCode = 1074;
  String msg = "Problem with formatting. Could not convert " + o + " to BigInteger.";
  throw new ExecException(msg, errCode, PigException.INPUT, nfe);
} catch (Exception e) {
  int errCode = 2054;
  String msg = "Internal error. Could not convert " + o + " to BigInteger.";
  throw new ExecException(msg, errCode, PigException.BUG);

代码示例来源:origin: org.apache.pig/pig

return BigDecimal.valueOf(((Integer)o).longValue());
    return BigDecimal.valueOf(((Long)o).longValue());
    return BigDecimal.valueOf(((Float)o).doubleValue());
    return new BigDecimal(((DataByteArray)o).toString());
    return BigDecimal.valueOf(((DateTime)o).getMillis());
  default:
    int errCode = 1071;
    String msg = "Cannot convert a " + findTypeName(o) +
    " to a BigDecimal.";
    throw new ExecException(msg, errCode, PigException.INPUT);
  int errCode = 1074;
  String msg = "Problem with formatting. Could not convert " + o + " to BigDecimal.";
  throw new ExecException(msg, errCode, PigException.INPUT, nfe);
} catch (Exception e) {
  int errCode = 2054;
  String msg = "Internal error. Could not convert " + o + " to BigDecimal.";
  throw new ExecException(msg, errCode, PigException.BUG);

代码示例来源:origin: org.apache.pig/pig

realType = DataType.findType(res.result);
      res.result = DataType.toBigInteger(res.result, realType);
    } catch (ClassCastException cce) {
      realType = DataType.findType(res.result);
      res.result = DataType.toBigInteger(res.result, realType);
      res.result = caster.bytesToBigInteger(dba.get());
    } else {
      int errCode = 1075;
      String msg = unknownByteArrayErrorMessage + "BigInteger for " + this.getOriginalLocations();
      throw new ExecException(msg, errCode, PigException.INPUT);
Result res = in.getNextInteger();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = BigInteger.valueOf(((Integer) res.result).longValue());
Result res = in.getNextDouble();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = BigInteger.valueOf(((Double) res.result).longValue());
Result res = in.getNextLong();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = BigInteger.valueOf(((Long) res.result).longValue());

代码示例来源:origin: org.apache.pig/pig

realType = DataType.findType(res.result);
    try {
      res.result = DataType.toBigDecimal(res.result, realType);
    } catch (ClassCastException cce) {
      realType = DataType.findType(res.result);
      res.result = DataType.toBigDecimal(res.result, realType);
      res.result = caster.bytesToBigDecimal(dba.get());
    } else {
      int errCode = 1075;
      String msg = unknownByteArrayErrorMessage + "BigDecimal for " + this.getOriginalLocations();
      throw new ExecException(msg, errCode, PigException.INPUT);
Result res = in.getNextInteger();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = BigDecimal.valueOf(((Integer) res.result).longValue());
Result res = in.getNextDouble();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = BigDecimal.valueOf(((Double) res.result).doubleValue());
Result res = in.getNextLong();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = BigDecimal.valueOf(((Long) res.result).longValue());

代码示例来源:origin: org.apache.pig/pig

Object GetLargerValue(Object v) {
  byte type = DataType.findType(v);
    return (String) v + "0";
  case DataType.BYTEARRAY:
    String str = ((DataByteArray) v).toString();
    str = str + "0";
    return new DataByteArray(str);
  case DataType.INTEGER:
    return Integer.valueOf((Integer) v + 1);
    return Double.valueOf((Double) v + 1);
  case DataType.BIGINTEGER:
    return ((BigInteger)v).add(BigInteger.ONE);
  case DataType.BIGDECIMAL:
    return ((BigDecimal)v).add(BigDecimal.ONE);
  case DataType.DATETIME:
    DateTime dt = (DateTime) v;
    if (dt.getMillisOfSecond() != 0) {
      return dt.plusMillis(1);
    } else if (dt.getSecondOfMinute() != 0) {
      return dt.plusSeconds(1);
    } else if (dt.getMinuteOfHour() != 0) {

代码示例来源:origin: org.apache.pig/pig

writeField(out, ((BigInteger)field).toString().getBytes(Charset.defaultCharset()),
    DataType.BIGINTEGER, includeTypeInformation);
break;
writeField(out, ((BigDecimal)field).toString().getBytes(Charset.defaultCharset()),
    DataType.BIGDECIMAL, includeTypeInformation);
break;
writeField(out, ((DateTime)field).toString().getBytes(Charset.defaultCharset()),
    DataType.DATETIME, includeTypeInformation);
break;
writeField(out, ((DataByteArray)field).get(), 
    DataType.BYTEARRAY, includeTypeInformation);
break;
    putField(out, t.get(i), delims, includeTypeInformation);
  } catch (ExecException ee) {
    throw ee;
int errCode = 2108;
String msg = "Could not determine data type of field: " + field;
throw new ExecException(msg, errCode, PigException.BUG);

代码示例来源:origin: org.apache.pig/pig

realType = DataType.findType(res.result);
      res.result = DataType.toDateTime(res.result, realType);
    } catch (ClassCastException cce) {
      realType = DataType.findType(res.result);
      res.result = DataType.toDateTime(res.result, realType);
      res.result = caster.bytesToDateTime(dba.get());
    } else {
      int errCode = 1075;
      String msg = unknownByteArrayErrorMessage + "datetime for " + this.getOriginalLocations();
      throw new ExecException(msg, errCode, PigException.INPUT);
Result res = in.getNextInteger();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = new DateTime(((Integer) res.result).longValue());
Result res = in.getNextDouble();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = new DateTime(((Double) res.result).longValue());
Result res = in.getNextLong();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = new DateTime(((Long) res.result).longValue());

代码示例来源:origin: org.apache.pig/pig

return null;
case BYTEARRAY:
  return new DateTime(((DataByteArray) o).toString());
case CHARARRAY:
  return new DateTime(((Integer) o).longValue());
case LONG:
  return new DateTime(((Long) o).longValue());
case FLOAT:
  return new DateTime(((Float) o).longValue());
  return new DateTime(((Double) o).longValue());
case BIGINTEGER:
  return new DateTime(((BigInteger) o).longValue());
case BIGDECIMAL:
  return new DateTime(((BigDecimal) o).longValue());
case DATETIME:
  return (DateTime) o;
default:
  int errCode = 1071;
  String msg = "Cannot convert a " + findTypeName(o) + " to a DateTime";
  throw new ExecException(msg, errCode, PigException.INPUT);

代码示例来源:origin: org.apache.pig/pig

realType = DataType.findType(res.result);
    try {
      res.result = DataType.toString(res.result, realType);
    } catch (ClassCastException cce) {
      realType = DataType.findType(res.result);
      res.result = DataType.toString(res.result, realType);
      res.result = caster.bytesToCharArray(dba.get());
    } else {
      int errCode = 1075;
      String msg = unknownByteArrayErrorMessage + "string for " + this.getOriginalLocations();
      throw new ExecException(msg, errCode, PigException.INPUT);
Result res = in.getNextDateTime();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = ((DateTime) res.result).toString();
Result res = in.getNextBigInteger();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = ((BigInteger)res.result).toString();
Result res = in.getNextBigDecimal();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = ((BigDecimal)res.result).toString();

代码示例来源:origin: org.apache.pig/pig

return ((DateTime)o).toString();
  return ((DataByteArray)o).toString();
  return ((BigInteger)o).toString();
  return ((BigDecimal)o).toString();
default:
  int errCode = 1071;
  String msg = "Cannot convert a " + findTypeName(o) +
  " to a String";
  throw new ExecException(msg, errCode, PigException.INPUT);
int errCode = 2054;
String msg = "Internal error. Could not convert " + o + " to String.";
throw new ExecException(msg, errCode, PigException.BUG);

代码示例来源:origin: org.apache.pig/pig

Object val) throws IOException {
  out.writeLong(((DateTime)val).getMillis());
  out.writeShort(((DateTime)val).getZone().getOffset((DateTime)val) / 60000);
  break;
  out.writeByte(DataType.BYTEARRAY);
  DataByteArray bytes = (DataByteArray)val;
  out.writeInt(bytes.size());
  out.write(bytes.mData);
  break;
  byte[] bytes = ((BigInteger)val).toByteArray();
  out.writeInt(bytes.length);
  out.write(bytes);
  byte[] bt =  ((BigDecimal)val).toString().getBytes(DataReaderWriter.UTF8);
  out.writeInt(bt.length);
  out.write(bt);

代码示例来源:origin: org.apache.pig/pig

realType = DataType.findType(res.result);
    try {
      res.result = DataType.toLong(res.result, realType);
    } catch (ClassCastException cce) {
      realType = DataType.findType(res.result);
      res.result = DataType.toLong(res.result, realType);
      res.result = caster.bytesToLong(dba.get());
    } else {
      int errCode = 1075;
      String msg = unknownByteArrayErrorMessage + "long for " + this.getOriginalLocations();
      throw new ExecException(msg, errCode, PigException.INPUT);
Result res = in.getNextDateTime();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = Long.valueOf(((DateTime) res.result).getMillis());
Result res = in.getNextBigInteger();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = Long.valueOf(((BigInteger)res.result).longValue());
Result res = in.getNextBigDecimal();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = Long.valueOf(((BigDecimal)res.result).longValue());

代码示例来源:origin: org.apache.pig/pig

return Long.valueOf(((DataByteArray)o).toString());
    return Long.valueOf(((BigInteger)o).longValue());
    return Long.valueOf(((BigDecimal)o).longValue());
    return Long.valueOf(((DateTime)o).getMillis());
  case MAP:
  case INTERNALMAP:
  default:
    int errCode = 1071;
    String msg = "Cannot convert a " + findTypeName(o) +
    " to a Long";
    throw new ExecException(msg, errCode, PigException.INPUT);
  int errCode = 1074;
  String msg = "Problem with formatting. Could not convert " + o + " to Long.";
  throw new ExecException(msg, errCode, PigException.INPUT, nfe);
} catch (Exception e) {
  int errCode = 2054;
  String msg = "Internal error. Could not convert " + o + " to Long.";
  throw new ExecException(msg, errCode, PigException.BUG);

代码示例来源:origin: org.apache.pig/pig

realType = DataType.findType(res.result);
    try {
      res.result = DataType.toInteger(res.result, realType);
    } catch (ClassCastException cce) {
      realType = DataType.findType(res.result);
      res.result = DataType.toInteger(res.result, realType);
      res.result = caster.bytesToInteger(dba.get());
    } else {
      int errCode = 1075;
      String msg = unknownByteArrayErrorMessage + "int for " + this.getOriginalLocations();
      throw new ExecException(msg, errCode, PigException.INPUT);
Result res = in.getNextDateTime();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = Integer.valueOf(Long.valueOf(((DateTime) res.result).getMillis()).intValue());
Result res = in.getNextBigInteger();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = Integer.valueOf(((BigInteger)res.result).intValue());
Result res = in.getNextBigDecimal();
if (res.returnStatus == POStatus.STATUS_OK && res.result != null) {
  res.result = Integer.valueOf(((BigDecimal)res.result).intValue());

相关文章

微信公众号

最新文章

更多