The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"txt -> bdb"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"txt -> bdb"  
Сообщение от alexvs (??) on 08-Сен-06, 14:02 
Пытаюсь перегнать содержимое текстового файла с 10млн подобных записей:
7805f22e09a3581543ed0f96657c9e2c 1154586092
в bdb.
Использую простейший скрипт:
#!/usr/bin/perl
use DB_File;
$bdbp = tie %bdbh, 'DB_File', "./new_bd.dbm", O_RDWR|O_CREAT, 0644, $DB_HASH;
open FH, "< ./dump";
while(($line=<FH>)) {
    chomp $line;
    my ($key, $val) = split(/\t/,$line);
    $bdbp->put($key,$val);
}
undef $bdbp; untie %bdbh;
и получаю 4-х терабайтный файл и перл в корке в придачу.

В чём может быть проблема?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

  • txt -> bdb, ACCA, 23:12 , 08-Сен-06, (1)  
    • txt -> bdb, alexvs, 13:01 , 10-Сен-06, (2)  

Сообщения по теме [Сортировка по времени, UBB]


1. "txt -> bdb"  
Сообщение от ACCA (ok) on 08-Сен-06, 23:12 
>Пытаюсь перегнать содержимое текстового файла с 10млн подобных записей:
>7805f22e09a3581543ed0f96657c9e2c 1154586092
[...]
>и получаю 4-х терабайтный файл и перл в корке в придачу.

Не ошибся ли ты на 3 десятичных порядка?


>В чём может быть проблема?

Если отбросить баг в конкретной инсталляции, то может быть в алгоритме хэширования - с твоими данными оставляет слишком много свободный мест. Попробуц $DB_BTREE.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "txt -> bdb"  
Сообщение от alexvs (??) on 10-Сен-06, 13:01 
>>Пытаюсь перегнать содержимое текстового файла с 10млн подобных записей:
>>7805f22e09a3581543ed0f96657c9e2c 1154586092
>[...]
>>и получаю 4-х терабайтный файл и перл в корке в придачу.
>
>Не ошибся ли ты на 3 десятичных порядка?
Нет, хоть винт на 240Г, но размер файла именно 4Тб показывают все утилиты.

>>В чём может быть проблема?
>
>Если отбросить баг в конкретной инсталляции, то может быть в алгоритме хэширования
>- с твоими данными оставляет слишком много свободный мест. Попробуц $DB_BTREE.
>
Помогло установка bsize = 10240 (10Mb) вместо значения по умолчанию 256 byte.
Тестировалось на двух разных серверах: результат одинаков.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру