You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Kassem Tohme (JIRA)" <ji...@apache.org> on 2013/11/01 14:06:19 UTC
[jira] [Updated] (HIVE-5724) Java API: comments are always null
[ https://issues.apache.org/jira/browse/HIVE-5724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kassem Tohme updated HIVE-5724:
-------------------------------
Description:
Hey
I'm new to jira (just to let u know)
Following scenario:
Configuration config = new Configuration();
config.addResource(new Path("/etc/hive/conf.cloudera.hive1/hive-site.xml"));
try {
HiveConf hiveConfig = HCatUtil.getHiveConf(config);
HiveMetaStoreClient hmsClient = HCatUtil.getHiveClient(hiveConfig);
Table table = hmsClient.getTable("testdb", "testtable");
for (FieldSchema colFS : table.getSd().getCols()) {
HCatFieldSchema col = HCatSchemaUtils.getHCatFieldSchema(colFS);
System.out.println(col.getName() + " " + col.getComment());
}
} catch (Exception e) {
e.printStackTrace();
}
Output :
id null
value null
HCatSchemaUtils.getHCatFieldSchema(String, TypInfo) seems ignores it.
public static HCatFieldSchema getHCatFieldSchema(FieldSchema fs) throws HCatException {
String fieldName = fs.getName();
TypeInfo baseTypeInfo = TypeInfoUtils.getTypeInfoFromTypeString(fs.getType());
return getHCatFieldSchema(fieldName, baseTypeInfo);
}
private static HCatFieldSchema getHCatFieldSchema(String fieldName, TypeInfo fieldTypeInfo) throws HCatException {
Category typeCategory = fieldTypeInfo.getCategory();
HCatFieldSchema hCatFieldSchema;
if (Category.PRIMITIVE == typeCategory) {
hCatFieldSchema = new HCatFieldSchema(fieldName, getPrimitiveHType(fieldTypeInfo), null);
} else if (Category.STRUCT == typeCategory) {
HCatSchema subSchema = constructHCatSchema((StructTypeInfo) fieldTypeInfo);
hCatFieldSchema = new HCatFieldSchema(fieldName, HCatFieldSchema.Type.STRUCT, subSchema, null);
} else if (Category.LIST == typeCategory) {
HCatSchema subSchema = getHCatSchema(((ListTypeInfo) fieldTypeInfo).getListElementTypeInfo());
hCatFieldSchema = new HCatFieldSchema(fieldName, HCatFieldSchema.Type.ARRAY, subSchema, null);
} else if (Category.MAP == typeCategory) {
HCatFieldSchema.Type mapKeyType = getPrimitiveHType(((MapTypeInfo) fieldTypeInfo).getMapKeyTypeInfo());
HCatSchema subSchema = getHCatSchema(((MapTypeInfo) fieldTypeInfo).getMapValueTypeInfo());
hCatFieldSchema = new HCatFieldSchema(fieldName, HCatFieldSchema.Type.MAP, mapKeyType, subSchema, null);
} else {
throw new TypeNotPresentException(fieldTypeInfo.getTypeName(), null);
}
return hCatFieldSchema;
}
Additional parameter FieldSchema in getHCatFieldSchema(String, TypeInfo) and replacing null with fs.getComment() should fix it.
This "bug" also impacts on HCatalogs Java API.
Summary: Java API: comments are always null (was: Java API always returning null )
> Java API: comments are always null
> ----------------------------------
>
> Key: HIVE-5724
> URL: https://issues.apache.org/jira/browse/HIVE-5724
> Project: Hive
> Issue Type: Bug
> Reporter: Kassem Tohme
>
> Hey
> I'm new to jira (just to let u know)
> Following scenario:
> Configuration config = new Configuration();
> config.addResource(new Path("/etc/hive/conf.cloudera.hive1/hive-site.xml"));
>
> try {
> HiveConf hiveConfig = HCatUtil.getHiveConf(config);
> HiveMetaStoreClient hmsClient = HCatUtil.getHiveClient(hiveConfig);
> Table table = hmsClient.getTable("testdb", "testtable");
>
> for (FieldSchema colFS : table.getSd().getCols()) {
> HCatFieldSchema col = HCatSchemaUtils.getHCatFieldSchema(colFS);
> System.out.println(col.getName() + " " + col.getComment());
> }
>
>
> } catch (Exception e) {
> e.printStackTrace();
> }
> Output :
> id null
> value null
> HCatSchemaUtils.getHCatFieldSchema(String, TypInfo) seems ignores it.
> public static HCatFieldSchema getHCatFieldSchema(FieldSchema fs) throws HCatException {
> String fieldName = fs.getName();
> TypeInfo baseTypeInfo = TypeInfoUtils.getTypeInfoFromTypeString(fs.getType());
> return getHCatFieldSchema(fieldName, baseTypeInfo);
> }
> private static HCatFieldSchema getHCatFieldSchema(String fieldName, TypeInfo fieldTypeInfo) throws HCatException {
> Category typeCategory = fieldTypeInfo.getCategory();
> HCatFieldSchema hCatFieldSchema;
> if (Category.PRIMITIVE == typeCategory) {
> hCatFieldSchema = new HCatFieldSchema(fieldName, getPrimitiveHType(fieldTypeInfo), null);
> } else if (Category.STRUCT == typeCategory) {
> HCatSchema subSchema = constructHCatSchema((StructTypeInfo) fieldTypeInfo);
> hCatFieldSchema = new HCatFieldSchema(fieldName, HCatFieldSchema.Type.STRUCT, subSchema, null);
> } else if (Category.LIST == typeCategory) {
> HCatSchema subSchema = getHCatSchema(((ListTypeInfo) fieldTypeInfo).getListElementTypeInfo());
> hCatFieldSchema = new HCatFieldSchema(fieldName, HCatFieldSchema.Type.ARRAY, subSchema, null);
> } else if (Category.MAP == typeCategory) {
> HCatFieldSchema.Type mapKeyType = getPrimitiveHType(((MapTypeInfo) fieldTypeInfo).getMapKeyTypeInfo());
> HCatSchema subSchema = getHCatSchema(((MapTypeInfo) fieldTypeInfo).getMapValueTypeInfo());
> hCatFieldSchema = new HCatFieldSchema(fieldName, HCatFieldSchema.Type.MAP, mapKeyType, subSchema, null);
> } else {
> throw new TypeNotPresentException(fieldTypeInfo.getTypeName(), null);
> }
> return hCatFieldSchema;
> }
> Additional parameter FieldSchema in getHCatFieldSchema(String, TypeInfo) and replacing null with fs.getComment() should fix it.
> This "bug" also impacts on HCatalogs Java API.
--
This message was sent by Atlassian JIRA
(v6.1#6144)