Exemplo n.º 1
0
        /// <summary>
        ///		Graba el archivo
        /// </summary>
        protected override void SaveFile(string targetFileName)
        {
            LibCsvFiles.Controllers.CsvDataReaderWriter writer = new LibCsvFiles.Controllers.CsvDataReaderWriter();

            // Escribe el archivo
            using (ParquetDataReader reader = new ParquetDataReader(FileName))
            {
                writer.Save(reader, targetFileName);
            }
        }
        /// <summary>
        ///		Importa el archivo
        /// </summary>
        private void Import(BlockLogModel block, ProviderModel provider, SentenceImportParquet sentence, string fileName)
        {
            long records = 0;

            // Copia del origen al destino
            using (ParquetDataReader reader = new ParquetDataReader(fileName, sentence.RecordsPerBlock))
            {
                // Asigna el manejador de eventos
                reader.Progress += (sender, args) => block.Progress("Importing", args.Records, 0);
                // Copia los datos del archivo sobre la tabla
                records = provider.BulkCopy(reader, sentence.Table, sentence.Mappings, sentence.RecordsPerBlock, sentence.Timeout);
            }
            // Log
            block.Info($"Imported {records:#,##0} records");
        }
Exemplo n.º 3
0
 private void ReadDataTest(Action <IDataReader> test, IEnumerable <ColumnConverter> columnConverters = null)
 {
     using (var stream = ParquetFiles.GetParquetFileWithThreeRowGroups())
     {
         using (var parquetReader = new ParquetReader(stream))
         {
             using (IDataReader reader = new ParquetDataReader(parquetReader, columnConverters))
             {
                 while (reader.Read())
                 {
                     test(reader);
                 }
             }
         }
     }
 }
Exemplo n.º 4
0
        /// <summary>
        ///		Graba el archivo
        /// </summary>
        protected override void SaveFile(LibLogger.Models.Log.BlockLogModel block, string fileName)
        {
            LibCsvFiles.Controllers.CsvDataReaderWriter writer = new LibCsvFiles.Controllers.CsvDataReaderWriter();

            // Escribe el archivo
            using (ParquetDataReader reader = new ParquetDataReader(FileName))
            {
                // Log
                writer.Progress += (sender, args) => block.Progress(System.IO.Path.GetFileName(fileName), args.Records, args.Records + 1);
                // Escribe el archivo
                writer.Save(reader, fileName);
            }
            // Log
            block.Progress(System.IO.Path.GetFileName(fileName), 0, 0);
            block.Info($"Fin de la grabación del archivo '{fileName}'");
            SolutionViewModel.MainController.Logger.Flush();
        }