pub fn from_file_bytes(data: Arc<Vec<u8>>) -> Result<Option<Self>> {
        if data.is_empty() {
            return Ok(None);
        }

        let cursor = SliceableCursor::new(data);
        let reader = SerializedFileReader::new(cursor).context(ParquetMetaDataReadSnafu {})?;
        let parquet_md = reader.metadata().clone();

        let data = Self::parquet_md_to_thrift(parquet_md)?;
        Ok(Some(Self::from_thrift_bytes(data)))
    }
/// Read parquet metadata from a parquet file.
Read parquet metadata from a parquet file.
Read parquet metadata from a parquet file .
pub fn from_file_bytes(data: Arc<Vec<u8>>) -> Result<Option<Self>> {
        if data.is_empty() {
            return Ok(None);
        }
        let cursor = SliceableCursor::new(data);
        let reader = SerializedFileReader::new(cursor).context(ParquetMetaDataReadSnafu {})?;
        let parquet_md = reader.metadata().clone();
        let data = Self::parquet_md_to_thrift(parquet_md)?;
        Ok(Some(Self::from_thrift_bytes(data)))
    }
pub fn from_file_bytes ( data : Arc < Vec < u8 > > ) -> Result < Option < Self > > { if data . is_empty ( ) { return Ok ( None ) ; } let cursor = SliceableCursor :: new ( data ) ; let reader = SerializedFileReader :: new ( cursor ) . context ( ParquetMetaDataReadSnafu { } ) ? ; let parquet_md = reader . metadata ( ) . clone ( ) ; let data = Self :: parquet_md_to_thrift ( parquet_md ) ? ; Ok ( Some ( Self :: from_thrift_bytes ( data ) ) ) }
Read parquet metadata from a parquet file.
Read parquet metadata from a parquet file .
data
Arc<Vec<u8>>
data
Arc<Vec<u8>>