Hive 如何判断桌子是否保存为拼花文件?
我正在使用HiveMetaStoreClient获取hive表的一些元数据,我将一些表保存为拼花地板,而其他表保存为文本。对于保存为拼花的表,我想获得更多信息,如拼花模式 那么,如何通过HiveMetaStoreClient获取配置单元表的文件格式呢?或者是否有其他接口可以这样做 我在想也许我可以试着用ParquetReader阅读每张桌子,并捕捉例外情况。比如:Hive 如何判断桌子是否保存为拼花文件?,hive,parquet,file-format,hive-metastore,Hive,Parquet,File Format,Hive Metastore,我正在使用HiveMetaStoreClient获取hive表的一些元数据,我将一些表保存为拼花地板,而其他表保存为文本。对于保存为拼花的表,我想获得更多信息,如拼花模式 那么,如何通过HiveMetaStoreClient获取配置单元表的文件格式呢?或者是否有其他接口可以这样做 我在想也许我可以试着用ParquetReader阅读每张桌子,并捕捉例外情况。比如: try { metaData = ParquetFileReader.readFooter(conf, file, NO_F
try {
metaData = ParquetFileReader.readFooter(conf, file, NO_FILTER);
MessageType schema = metaData.getFileMetaData().getSchema();
} catch (Exception e) {
System.out.println("Not parquet!!!")
}
但这是最糟糕的选择。我通过在配置单元会话中运行showcreatetable来实现这一点,结果您将看到该表的CREATE语句,其中包含文件格式的详细信息。它看起来像下面这样
ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
让我知道,如果这是你要找的 您有多种选择 使用SHOW创建表 使用描述格式化 您可以使用为Hadoop用户提供web GUI的色调 如果您也为UI设置了namenode,则可以访问详细信息,甚至可以浏览文件。url通常是http://:50070。它没有显示关于表的很多细节。它用于整个hadoop