org.apache.hadoop.hive.ql.metadata.Table.hasMetastoreBasedSchema()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(7.1k)|赞(0)|评价(0)|浏览(189)

本文整理了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

Table.hasMetastoreBasedSchema介绍

暂无

代码示例

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

  1. public static boolean shouldStoreFieldsInMetastore(
  2. HiveConf conf, String serdeLib, Map<String, String> tableParams) {
  3. if (hasMetastoreBasedSchema(conf, serdeLib)) return true;
  4. // Table may or may not be using metastore. Only the SerDe can tell us.
  5. AbstractSerDe deserializer = null;
  6. try {
  7. Class<?> clazz = conf.getClassByName(serdeLib);
  8. if (!AbstractSerDe.class.isAssignableFrom(clazz)) return true; // The default.
  9. deserializer = ReflectionUtil.newInstance(
  10. conf.getClassByName(serdeLib).asSubclass(AbstractSerDe.class), conf);
  11. } catch (Exception ex) {
  12. LOG.warn("Cannot initialize SerDe: " + serdeLib + ", ignoring", ex);
  13. return true;
  14. }
  15. return deserializer.shouldStoreFieldsInMetastore(tableParams);
  16. }

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

  1. public static boolean shouldStoreFieldsInMetastore(
  2. HiveConf conf, String serdeLib, Map<String, String> tableParams) {
  3. if (hasMetastoreBasedSchema(conf, serdeLib)) {
  4. return true;
  5. }
  6. if (HiveConf.getBoolVar(conf, ConfVars.HIVE_LEGACY_SCHEMA_FOR_ALL_SERDES)) {
  7. return true;
  8. }
  9. // Table may or may not be using metastore. Only the SerDe can tell us.
  10. AbstractSerDe deserializer = null;
  11. try {
  12. Class<?> clazz = conf.getClassByName(serdeLib);
  13. if (!AbstractSerDe.class.isAssignableFrom(clazz))
  14. {
  15. return true; // The default.
  16. }
  17. deserializer = ReflectionUtil.newInstance(
  18. conf.getClassByName(serdeLib).asSubclass(AbstractSerDe.class), conf);
  19. } catch (Exception ex) {
  20. LOG.warn("Cannot initialize SerDe: " + serdeLib + ", ignoring", ex);
  21. return true;
  22. }
  23. return deserializer.shouldStoreFieldsInMetastore(tableParams);
  24. }

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

  1. if (Table.hasMetastoreBasedSchema(conf, serName) &&
  2. StringUtils.isEmpty(getStorageHandler())) {
  3. throw new SemanticException(ErrorMsg.INVALID_TBL_DDL_SERDE.getMsg());

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

  1. private List<FieldSchema> getColsInternal(boolean forMs) {
  2. String serializationLib = getSerializationLib();
  3. try {
  4. // Do the lightweight check for general case.
  5. if (hasMetastoreBasedSchema(SessionState.getSessionConf(), serializationLib)) {
  6. return tTable.getSd().getCols();
  7. } else if (forMs && !shouldStoreFieldsInMetastore(
  8. SessionState.getSessionConf(), serializationLib, tTable.getParameters())) {
  9. return Hive.getFieldsFromDeserializerForMsStorage(this, getDeserializer());
  10. } else {
  11. return MetaStoreUtils.getFieldsFromDeserializer(getTableName(), getDeserializer());
  12. }
  13. } catch (Exception e) {
  14. LOG.error("Unable to get field from serde: " + serializationLib, e);
  15. }
  16. return new ArrayList<FieldSchema>();
  17. }

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

  1. private List<FieldSchema> getColsInternal(boolean forMs) {
  2. String serializationLib = getSerializationLib();
  3. try {
  4. // Do the lightweight check for general case.
  5. if (hasMetastoreBasedSchema(SessionState.getSessionConf(), serializationLib)) {
  6. return tTable.getSd().getCols();
  7. } else if (forMs && !shouldStoreFieldsInMetastore(
  8. SessionState.getSessionConf(), serializationLib, tTable.getParameters())) {
  9. return Hive.getFieldsFromDeserializerForMsStorage(this, getDeserializer());
  10. } else {
  11. return HiveMetaStoreUtils.getFieldsFromDeserializer(getTableName(), getDeserializer());
  12. }
  13. } catch (Exception e) {
  14. LOG.error("Unable to get field from serde: " + serializationLib, e);
  15. }
  16. return new ArrayList<FieldSchema>();
  17. }

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

  1. if (Table.hasMetastoreBasedSchema(conf, serName) &&
  2. StringUtils.isEmpty(getStorageHandler())) {
  3. throw new SemanticException(ErrorMsg.INVALID_TBL_DDL_SERDE.getMsg());

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

  1. private List<FieldSchema> getColsInternal(boolean forMs) {
  2. try {
  3. String serializationLib = tPartition.getSd().getSerdeInfo().getSerializationLib();
  4. // Do the lightweight check for general case.
  5. if (Table.hasMetastoreBasedSchema(SessionState.getSessionConf(), serializationLib)) {
  6. return tPartition.getSd().getCols();
  7. } else if (forMs && !Table.shouldStoreFieldsInMetastore(
  8. SessionState.getSessionConf(), serializationLib, table.getParameters())) {
  9. return Hive.getFieldsFromDeserializerForMsStorage(table, getDeserializer());
  10. }
  11. return HiveMetaStoreUtils.getFieldsFromDeserializer(table.getTableName(), getDeserializer());
  12. } catch (Exception e) {
  13. LOG.error("Unable to get cols from serde: " +
  14. tPartition.getSd().getSerdeInfo().getSerializationLib(), e);
  15. }
  16. return new ArrayList<FieldSchema>();
  17. }

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

  1. private List<FieldSchema> getColsInternal(boolean forMs) {
  2. try {
  3. String serializationLib = tPartition.getSd().getSerdeInfo().getSerializationLib();
  4. // Do the lightweight check for general case.
  5. if (Table.hasMetastoreBasedSchema(SessionState.getSessionConf(), serializationLib)) {
  6. return tPartition.getSd().getCols();
  7. } else if (forMs && !Table.shouldStoreFieldsInMetastore(
  8. SessionState.getSessionConf(), serializationLib, table.getParameters())) {
  9. return Hive.getFieldsFromDeserializerForMsStorage(table, getDeserializer());
  10. }
  11. return MetaStoreUtils.getFieldsFromDeserializer(table.getTableName(), getDeserializer());
  12. } catch (Exception e) {
  13. LOG.error("Unable to get cols from serde: " +
  14. tPartition.getSd().getSerdeInfo().getSerializationLib(), e);
  15. }
  16. return new ArrayList<FieldSchema>();
  17. }

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

  1. } else {
  2. if (Table.shouldStoreFieldsInMetastore(conf, serdeName, tbl.getParameters())
  3. && !Table.hasMetastoreBasedSchema(conf, oldSerdeName)) {

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

  1. } else {
  2. if (Table.shouldStoreFieldsInMetastore(conf, serdeName, tbl.getParameters())
  3. && !Table.hasMetastoreBasedSchema(conf, oldSerdeName)) {

代码示例来源:origin: com.facebook.presto.hive/hive-apache

  1. public static boolean hasMetastoreBasedSchema(HiveConf conf, StorageDescriptor serde) {
  2. return hasMetastoreBasedSchema(conf, serde.getSerdeInfo().getSerializationLib());
  3. }

代码示例来源:origin: com.facebook.presto.hive/hive-apache

  1. public List<FieldSchema> getCols() {
  2. String serializationLib = getSerializationLib();
  3. try {
  4. if (hasMetastoreBasedSchema(SessionState.getSessionConf(), serializationLib)) {
  5. return tTable.getSd().getCols();
  6. } else {
  7. return MetaStoreUtils.getFieldsFromDeserializer(getTableName(), getDeserializer());
  8. }
  9. } catch (Exception e) {
  10. LOG.error("Unable to get field from serde: " + serializationLib, e);
  11. }
  12. return new ArrayList<FieldSchema>();
  13. }

代码示例来源:origin: com.facebook.presto.hive/hive-apache

  1. public List<FieldSchema> getCols() {
  2. try {
  3. if (Table.hasMetastoreBasedSchema(SessionState.getSessionConf(), tPartition.getSd())) {
  4. return tPartition.getSd().getCols();
  5. }
  6. return MetaStoreUtils.getFieldsFromDeserializer(table.getTableName(), getDeserializer());
  7. } catch (Exception e) {
  8. LOG.error("Unable to get cols from serde: " +
  9. tPartition.getSd().getSerdeInfo().getSerializationLib(), e);
  10. }
  11. return new ArrayList<FieldSchema>();
  12. }

代码示例来源:origin: com.facebook.presto.hive/hive-apache

  1. if (Table.hasMetastoreBasedSchema(conf, getSerName())) {
  2. throw new SemanticException(ErrorMsg.INVALID_TBL_DDL_SERDE.getMsg());

代码示例来源:origin: com.facebook.presto.hive/hive-apache

  1. part.getTPartition().getSd().setCols(part.getTPartition().getSd().getCols());
  2. } else {
  3. if (!Table.hasMetastoreBasedSchema(conf, serdeName)) {
  4. tbl.setFields(Hive.getFieldsFromDeserializer(tbl.getTableName(), tbl.
  5. getDeserializer()));

相关文章

Table类方法