本文整理了Java中org.apache.hadoop.hive.ql.metadata.Table.hasMetastoreBasedSchema()
方法的一些代码示例,展示了Table.hasMetastoreBasedSchema()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Table.hasMetastoreBasedSchema()
方法的具体详情如下:
包路径:org.apache.hadoop.hive.ql.metadata.Table
类名称:Table
方法名:hasMetastoreBasedSchema
暂无
代码示例来源:origin: apache/drill
public static boolean shouldStoreFieldsInMetastore(
HiveConf conf, String serdeLib, Map<String, String> tableParams) {
if (hasMetastoreBasedSchema(conf, serdeLib)) return true;
// Table may or may not be using metastore. Only the SerDe can tell us.
AbstractSerDe deserializer = null;
try {
Class<?> clazz = conf.getClassByName(serdeLib);
if (!AbstractSerDe.class.isAssignableFrom(clazz)) return true; // The default.
deserializer = ReflectionUtil.newInstance(
conf.getClassByName(serdeLib).asSubclass(AbstractSerDe.class), conf);
} catch (Exception ex) {
LOG.warn("Cannot initialize SerDe: " + serdeLib + ", ignoring", ex);
return true;
}
return deserializer.shouldStoreFieldsInMetastore(tableParams);
}
代码示例来源:origin: apache/hive
public static boolean shouldStoreFieldsInMetastore(
HiveConf conf, String serdeLib, Map<String, String> tableParams) {
if (hasMetastoreBasedSchema(conf, serdeLib)) {
return true;
}
if (HiveConf.getBoolVar(conf, ConfVars.HIVE_LEGACY_SCHEMA_FOR_ALL_SERDES)) {
return true;
}
// Table may or may not be using metastore. Only the SerDe can tell us.
AbstractSerDe deserializer = null;
try {
Class<?> clazz = conf.getClassByName(serdeLib);
if (!AbstractSerDe.class.isAssignableFrom(clazz))
{
return true; // The default.
}
deserializer = ReflectionUtil.newInstance(
conf.getClassByName(serdeLib).asSubclass(AbstractSerDe.class), conf);
} catch (Exception ex) {
LOG.warn("Cannot initialize SerDe: " + serdeLib + ", ignoring", ex);
return true;
}
return deserializer.shouldStoreFieldsInMetastore(tableParams);
}
代码示例来源:origin: apache/hive
if (Table.hasMetastoreBasedSchema(conf, serName) &&
StringUtils.isEmpty(getStorageHandler())) {
throw new SemanticException(ErrorMsg.INVALID_TBL_DDL_SERDE.getMsg());
代码示例来源:origin: apache/drill
private List<FieldSchema> getColsInternal(boolean forMs) {
String serializationLib = getSerializationLib();
try {
// Do the lightweight check for general case.
if (hasMetastoreBasedSchema(SessionState.getSessionConf(), serializationLib)) {
return tTable.getSd().getCols();
} else if (forMs && !shouldStoreFieldsInMetastore(
SessionState.getSessionConf(), serializationLib, tTable.getParameters())) {
return Hive.getFieldsFromDeserializerForMsStorage(this, getDeserializer());
} else {
return MetaStoreUtils.getFieldsFromDeserializer(getTableName(), getDeserializer());
}
} catch (Exception e) {
LOG.error("Unable to get field from serde: " + serializationLib, e);
}
return new ArrayList<FieldSchema>();
}
代码示例来源:origin: apache/hive
private List<FieldSchema> getColsInternal(boolean forMs) {
String serializationLib = getSerializationLib();
try {
// Do the lightweight check for general case.
if (hasMetastoreBasedSchema(SessionState.getSessionConf(), serializationLib)) {
return tTable.getSd().getCols();
} else if (forMs && !shouldStoreFieldsInMetastore(
SessionState.getSessionConf(), serializationLib, tTable.getParameters())) {
return Hive.getFieldsFromDeserializerForMsStorage(this, getDeserializer());
} else {
return HiveMetaStoreUtils.getFieldsFromDeserializer(getTableName(), getDeserializer());
}
} catch (Exception e) {
LOG.error("Unable to get field from serde: " + serializationLib, e);
}
return new ArrayList<FieldSchema>();
}
代码示例来源:origin: apache/drill
if (Table.hasMetastoreBasedSchema(conf, serName) &&
StringUtils.isEmpty(getStorageHandler())) {
throw new SemanticException(ErrorMsg.INVALID_TBL_DDL_SERDE.getMsg());
代码示例来源:origin: apache/hive
private List<FieldSchema> getColsInternal(boolean forMs) {
try {
String serializationLib = tPartition.getSd().getSerdeInfo().getSerializationLib();
// Do the lightweight check for general case.
if (Table.hasMetastoreBasedSchema(SessionState.getSessionConf(), serializationLib)) {
return tPartition.getSd().getCols();
} else if (forMs && !Table.shouldStoreFieldsInMetastore(
SessionState.getSessionConf(), serializationLib, table.getParameters())) {
return Hive.getFieldsFromDeserializerForMsStorage(table, getDeserializer());
}
return HiveMetaStoreUtils.getFieldsFromDeserializer(table.getTableName(), getDeserializer());
} catch (Exception e) {
LOG.error("Unable to get cols from serde: " +
tPartition.getSd().getSerdeInfo().getSerializationLib(), e);
}
return new ArrayList<FieldSchema>();
}
代码示例来源:origin: apache/drill
private List<FieldSchema> getColsInternal(boolean forMs) {
try {
String serializationLib = tPartition.getSd().getSerdeInfo().getSerializationLib();
// Do the lightweight check for general case.
if (Table.hasMetastoreBasedSchema(SessionState.getSessionConf(), serializationLib)) {
return tPartition.getSd().getCols();
} else if (forMs && !Table.shouldStoreFieldsInMetastore(
SessionState.getSessionConf(), serializationLib, table.getParameters())) {
return Hive.getFieldsFromDeserializerForMsStorage(table, getDeserializer());
}
return MetaStoreUtils.getFieldsFromDeserializer(table.getTableName(), getDeserializer());
} catch (Exception e) {
LOG.error("Unable to get cols from serde: " +
tPartition.getSd().getSerdeInfo().getSerializationLib(), e);
}
return new ArrayList<FieldSchema>();
}
代码示例来源:origin: apache/drill
} else {
if (Table.shouldStoreFieldsInMetastore(conf, serdeName, tbl.getParameters())
&& !Table.hasMetastoreBasedSchema(conf, oldSerdeName)) {
代码示例来源:origin: apache/hive
} else {
if (Table.shouldStoreFieldsInMetastore(conf, serdeName, tbl.getParameters())
&& !Table.hasMetastoreBasedSchema(conf, oldSerdeName)) {
代码示例来源:origin: com.facebook.presto.hive/hive-apache
public static boolean hasMetastoreBasedSchema(HiveConf conf, StorageDescriptor serde) {
return hasMetastoreBasedSchema(conf, serde.getSerdeInfo().getSerializationLib());
}
代码示例来源:origin: com.facebook.presto.hive/hive-apache
public List<FieldSchema> getCols() {
String serializationLib = getSerializationLib();
try {
if (hasMetastoreBasedSchema(SessionState.getSessionConf(), serializationLib)) {
return tTable.getSd().getCols();
} else {
return MetaStoreUtils.getFieldsFromDeserializer(getTableName(), getDeserializer());
}
} catch (Exception e) {
LOG.error("Unable to get field from serde: " + serializationLib, e);
}
return new ArrayList<FieldSchema>();
}
代码示例来源:origin: com.facebook.presto.hive/hive-apache
public List<FieldSchema> getCols() {
try {
if (Table.hasMetastoreBasedSchema(SessionState.getSessionConf(), tPartition.getSd())) {
return tPartition.getSd().getCols();
}
return MetaStoreUtils.getFieldsFromDeserializer(table.getTableName(), getDeserializer());
} catch (Exception e) {
LOG.error("Unable to get cols from serde: " +
tPartition.getSd().getSerdeInfo().getSerializationLib(), e);
}
return new ArrayList<FieldSchema>();
}
代码示例来源:origin: com.facebook.presto.hive/hive-apache
if (Table.hasMetastoreBasedSchema(conf, getSerName())) {
throw new SemanticException(ErrorMsg.INVALID_TBL_DDL_SERDE.getMsg());
代码示例来源:origin: com.facebook.presto.hive/hive-apache
part.getTPartition().getSd().setCols(part.getTPartition().getSd().getCols());
} else {
if (!Table.hasMetastoreBasedSchema(conf, serdeName)) {
tbl.setFields(Hive.getFieldsFromDeserializer(tbl.getTableName(), tbl.
getDeserializer()));
内容来源于网络,如有侵权,请联系作者删除!