public interface Record
RecordReader#read,
RecordWriter#write| Modifier and Type | Method and Description |
|---|---|
Record |
clone()
生成当前Record的拷贝
|
Object |
get(int idx)
获取当前列的值
|
Object |
get(String columnName)
获取列值
|
Long |
getBigint(int idx)
获取对应索引列的值,该列必须为Bigint类型
|
Long |
getBigint(String columnName)
获取对应列名的值,该列必须为Bigint类型
|
Boolean |
getBoolean(int idx)
设置对应索引列的值,该列必须为Boolean类型
|
Boolean |
getBoolean(String columnName)
获取对应列名的值,该列必须为Boolean类型
|
byte[] |
getBytes(int idx)
获取指定列索引的值
|
byte[] |
getBytes(String columnName)
获取指定列名的值
|
int |
getColumnCount()
获得记录中包含的字段数量
|
Column[] |
getColumns()
获得记录中包含的所有字段
|
Date |
getDatetime(int idx)
获取对应索引列的值,该列必须为Datetime类型
|
Date |
getDatetime(String columnName)
获取对应列名的值,该列必须为Datetime类型
|
BigDecimal |
getDecimal(int idx)
获取对应索引列的值,该列必须为Decimal类型
|
BigDecimal |
getDecimal(String columnName)
获取对应列名的值,该列必须为Decimal类型
|
Double |
getDouble(int idx)
获取对应索引列的值,该列必须为Double类型
|
Double |
getDouble(String columnName)
设置对应列的值,该列必须为Double类型
|
String |
getString(int idx)
获取对应索引列的值,该列必须为String类型
|
String |
getString(String columnName)
获取对应列名的值,该列必须为String类型
|
boolean |
isNull(int idx)
判断某列是否为NULL值,如果该列为null,则返回true
|
boolean |
isNull(String columnName)
判断某列是否为NULL值,如果该列为null,则返回true
|
void |
set(int idx,
Object value)
设置列的值
|
void |
set(Object[] values)
|
void |
set(String columnName,
Object value)
设置列的值
|
void |
setBigint(int idx,
Long value)
设置对应索引列的值,该列必须为Bigint类型
|
void |
setBigint(String columnName,
Long value)
设置对应列名的值,该列必须为Bigint类型
|
void |
setBoolean(int idx,
Boolean value)
设置对应索引列的值,该列必须为Boolean类型
|
void |
setBoolean(String columnName,
Boolean value)
设置对应列名的值,该列必须为Boolean类型
|
void |
setDatetime(int idx,
Date value)
设置对应索引列的值,该列必须为Datetime类型
|
void |
setDatetime(String columnName,
Date value)
设置对应列名的值,该列必须为Datetime类型
|
void |
setDecimal(int idx,
BigDecimal value)
设置对应索引列的值,该列必须为Decimal类型
Decimal 类型整数部分36位有效数字 小数部分保留18位有效数字
与 ODPS 交互时 整数部分超过36位会发生异常, 小数部分超过18位会被截断
使用 BigDecimal 需要注意,BigDecimal 精度与 ODPS Decimal 精度有差异
BigDecimal 精度为变长, ODPS Decimal 精度为定长18位
equals 判断时,不同精度的BigDecimal 会不等,建议使用 compareTo
|
void |
setDecimal(String columnName,
BigDecimal value)
设置对应列名的值,该列必须为Decimal类型
Decimal 类型整数部分36位有效数字 小数部分保留18位有效数字
与 ODPS 交互时 整数部分超过36位会发生异常, 小数部分超过18位会被截断
|
void |
setDouble(int idx,
Double value)
设置对应索引列的值,该列必须为Double类型
|
void |
setDouble(String columnName,
Double value)
设置对应列名的值,该列必须为Double类型
|
void |
setString(int idx,
byte[] value)
设置对应列索引的值,该列必须为String类型
|
void |
setString(int idx,
String value)
设置对应索引列的值,该列必须为String类型
|
void |
setString(String columnName,
byte[] value)
设置对应列名的值,该列必须为String类型
|
void |
setString(String columnName,
String value)
设置对应列名的值,该列必须为String类型
|
Object[] |
toArray()
返回当前所有列值的数组
|
int getColumnCount()
Column 数量boolean isNull(int idx)
idx - 列序号,0起始boolean isNull(String columnName)
columnName - 列名void set(int idx,
Object value)
idx - 列的索引value - 列的值 ObjectObject get(int idx)
idx - 列的索引void setBigint(int idx,
Long value)
idx - 列索引value - 列值set(int, Object)Long getBigint(int idx)
idx - 列索引get(int)void setBigint(String columnName, Long value)
columnName - 列名value - 列值set(String, Object)Long getBigint(String columnName)
columnName - 列名get(String)void setDouble(int idx,
Double value)
idx - 列索引value - 列值set(int, Object)Double getDouble(int idx)
idx - 列索引get(int)void setDouble(String columnName, Double value)
columnName - 列名value - 列值set(String, Object)Double getDouble(String columnName)
columnName - 列名get(String)void setBoolean(int idx,
Boolean value)
idx - 列索引value - 列值set(int, Object)Boolean getBoolean(int idx)
idx - 列索引get(int)void setBoolean(String columnName, Boolean value)
columnName - 列名value - 列值set(String, Object)Boolean getBoolean(String columnName)
columnName - 列名get(String)void setDatetime(int idx,
Date value)
idx - 列索引value - 列值set(int, Object)Date getDatetime(int idx)
idx - 列索引get(int)void setDatetime(String columnName, Date value)
columnName - 列名value - 列值set(String, Object)Date getDatetime(String columnName)
columnName - 列名get(String)void setDecimal(int idx,
BigDecimal value)
idx - 列索引value - 列值set(int, Object)BigDecimal getDecimal(int idx)
idx - 列索引get(int)void setDecimal(String columnName, BigDecimal value)
columnName - 列名value - 列值set(String, Object)BigDecimal getDecimal(String columnName)
columnName - 列名get(String)void setString(int idx,
String value)
idx - 列索引value - 列值set(int, Object)String getString(int idx)
idx - 列索引get(int)void setString(String columnName, String value)
columnName - 列名value - 列值set(String, Object)String getString(String columnName)
columnName - 列名get(String)void setString(int idx,
byte[] value)
idx - 列索引value - 列值需要保证value.length就是需要传入的长度
并且byte的值不会被复用void setString(String columnName, byte[] value)
需要保证value.length就是需要传入的长度
并且byte的值不会被复用byte[] getBytes(int idx)
idx - 列索引get(int)byte[] getBytes(String columnName)
columnName - 列名get(String)void set(Object[] values)
values - 所有列的值Object[] toArray()
Record clone()
Copyright © 2023 Alibaba Cloud Computing. All rights reserved.