Пример #1
0
        /// <summary>
        /// Test read, to be defined
        /// </summary>
        public DataSet Read()
        {
            _meta = ReadMetadata();
            var ds   = new DataSet(new Schema(_meta));
            var cols = new List <IList>();

            foreach (Thrift.RowGroup rg in _meta.Row_groups)
            {
                foreach (Thrift.ColumnChunk cc in rg.Columns)
                {
                    var    p          = new PColumn(cc, ds.Schema, _input, _thrift, _options);
                    string columnName = string.Join(".", cc.Meta_data.Path_in_schema);

                    try
                    {
                        IList column = p.Read(columnName);
                        cols.Add(column);
                    }
                    catch (Exception ex)
                    {
                        throw new ParquetException($"fatal error reading column '{columnName}'", ex);
                    }
                }
            }

            ds.AddColumnar(cols);

            return(ds);
        }