Ejemplo n.º 1
0
        public void ExecuteDataSave(List <Time> time, WikiDump wikiDump)
        {
            Console.WriteLine("\n==========================");
            Console.WriteLine("Accessing and Saving Data: ");
            Console.WriteLine("==========================");

            Console.Write("Truncating Table... ");
            TruncateTable();
            Console.Write("Done\n");

            foreach (Time t in time)
            {
                var table = new DataTable();

                table.Columns.Add("ID", typeof(int));
                table.Columns.Add("PeriodHour", typeof(int));
                table.Columns.Add("PageLanguage", typeof(string));
                table.Columns.Add("PageDomain", typeof(string));
                table.Columns.Add("PageDesign", typeof(string));
                table.Columns.Add("PageTitle", typeof(string));
                table.Columns.Add("CountViews", typeof(int));
                table.Columns.Add("TotalResponseSize", typeof(string));

                Console.Write($"Saving WikiDump pageviews-{t.Year}{t.Month}{t.Day}-{t.Hour}0000... ");

                List <string> lines = File.ReadAllLines(FileDirectory.GetUnzippedFile(t.Year, t.Month, t.Day, t.Hour)).ToList();

                foreach (var line in lines)
                {
                    string[] entries = line.Split(' ');

                    WikiPage wp = wikiDump.CreateWikiPage(Int32.Parse(t.Hour), entries);

                    table.Rows.Add(new object[]
                    {
                        wp.ID,
                        wp.PeriodHour,
                        wp.PageLanguage,
                        wp.PageDomain,
                        wp.PageDesign,
                        wp.PageTitle,
                        wp.CountViews,
                        wp.TotalResponseSize
                    });
                }

                InsertWikiPages(table);

                Console.Write("Done!\n");
            }

            Console.WriteLine("Saving Completed!");
        }
Ejemplo n.º 2
0
        public static void ExecuteDecompress(List <Time> time)
        {
            Console.WriteLine("\n=======================");
            Console.WriteLine("Decompressing gz Files: ");
            Console.WriteLine("=======================");

            foreach (Time t in time)
            {
                Console.Write($"Decompressing WikiDump pageviews-{t.Year}{t.Month}{t.Day}-{t.Hour}0000.gz... ");
                FileInfo file    = new FileInfo(FileDirectory.GetZippedFile(t.Year, t.Month, t.Day, t.Hour));
                string   unzFile = FileDirectory.GetUnzippedFile(t.Year, t.Month, t.Day, t.Hour);

                Decompress(file, unzFile);
                Console.Write("Done!\n");
            }

            Console.WriteLine("Decompressing Completed!");
        }