https://github.com/aloneguid/parquet-dotnetобразной базы/> Я пытаюсь использовать Parquet.net для создания паркетного файла из пары таблиц базы данных, которые я объединил. Столбцы таблицы могут быть динамическими, поэтому я могу создать динамический запрос, используя < /p>
Код: Выделить всё
// The @TableName can be read in from my list of tables and a loop
// can then get all the names in a string of columnNames
// (e.g. TableId, ColumnName1, ... , ColumnNameN
SELECT name
FROM sys.columns
WHERE object_id = OBJECT_ID(@TableName)
AND name N'ID';
< /code>
Как только у меня есть имена столбцов в строке, я застрял на том, как динамически создать схему для parquet.net для написания, как приведены ниже приведенные ниже: < /p>
//create data columns with schema metadata and the data you need
var idColumn = new DataColumn(
new DataField("id"),
new int[] { 1, 2 });
var cityColumn = new DataColumn(
new DataField("city"),
new string[] { "London", "Derby" });
// create file schema
var schema = new Schema(idColumn.Field, cityColumn.Field);
using (Stream fileStream = System.IO.File.OpenWrite("c:\\test.parquet"))
{
using (var parquetWriter = new ParquetWriter(schema, fileStream))
{
// create a new row group in the file
using (ParquetRowGroupWriter groupWriter = parquetWriter.CreateRowGroup())
{
groupWriter.WriteColumn(idColumn);
groupWriter.WriteColumn(cityColumn);
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/730 ... uery-of-ta