Anonymous
./util > file.csv; scp file.csv server
ну зачастую нужен юзер, порт и путь
Tishka17
ну зачастую нужен юзер, порт и путь
Ну блин рядом в другом файле
Chern
а ты уверен что это по питону вопрос?
С помощью Питона Пробью делать через psycopg2, но в ней нет сопостовления колонок ((
Anonymous
ну для этого нужно COPY использовать, как такое с питоном проделать вот вопрос
Tishka17
С помощью Питона Пробью делать через psycopg2, но в ней нет сопостовления колонок ((
А в чем проблема прочитать csv, а потом передать в постгрес только то, что надо?
Anonymous
может для этого и нужно передать файл на сервер
Anonymous
https://stackoverflow.com/questions/2987433/how-to-import-csv-file-data-into-a-postgresql-table
Chern
conn = psycopg2.connect(dbname=var_database, user=var_username, password=var_password, host=var_hostname) cur = conn.cursor() # cur.execute("SELECT devtodev_id from core_date.level_start_tbl limit 5") with open(FILE_PATH, 'r') as dff: # next(dff) next(dff) cur.copy_expert("""COPY core_date.users_tbl(devtodev_id, createtime, paying, cheater, tester, version_, country, channel, udid, mac, odin, android_id) FROM STDIN WITH DELIMITER ';' CSV QUOTE '"' """, dff) conn.commit()
Mariya
@keithkosatka наверно ты что-то такое же делаешь. Подскажи человеку
Нет, кроме передачи и парсинга csv файла, я с ним ничего не делаю
Chern
Большой файл?
ФАйлики та получаеться, загружать, проблема в сопоставление колонок, +/- однотипных файлов 50 по 360 штук каждого и есть файлики где гуляют колонки куда попало 01/01 структура файла (namesss, id, time_create) 02/01 структура файла ( id, name, time_create) 02/01 структура файла ( id, TCreate)
Chern
Большой файл?
не большие до 100 мб
Tishka17
А в чем проблема распарсить в питоне а потом любым способом передать на сервер? Хоть execute many с insert
Chern
не совсем понял
Tishka17
Будет конечно медленнее
Tishka17
Но тебе же наверно один раз
Anonymous
жееесть
Chern
неа, но потом уже не будет так много файлов
Anonymous
?
таким образом передавать это дичь, проще всего уж решить проблему
Tishka17
Люди, откуда вы берете гигабайты csv, которые надо в постгрес класть?
Anonymous
чужие дампы или свои
Anonymous
а как передать API ?
всм? у вас апи для загрузки csv?
Tishka17
Одной надо цсв отправить, второму в базу положить
Tishka17
Игровая индустрия
Ты уверен, что это должно делать в постгресе?
Chern
всм? у вас апи для загрузки csv?
Есть сайт, который отдает данные по API, но в CSV и вот как бы вопрос, как без такой дурни, как обработать это в любом языке и отправить в БД?
Anonymous
Одной надо цсв отправить, второму в базу положить
постгрес из коробки принимает csv. ему главное таблицу подходящую сделать
Chern
постгрес из коробки принимает csv. ему главное таблицу подходящую сделать
у меня 180 000 файлов я до новых венников буду грузить через pgAdmin
Tishka17
180к файлов по 100 метров?
Tishka17
Повторяю вопрос: ты уверен, что тебе нужен постгрес?
Chern
180к файлов по 100 метров?
процент 30% по 100 остальные с среднем 25
Chern
и да нужен
Tishka17
Не сильно изменилось
Tishka17
Tishka17
Схему шардирования уже придумал?
Tishka17
Не предоставляю что ты там будешь с ними делать
Chern
Так я обманул
Chern
это у меня только 50 файлов по 100 мб
Anonymous
ля у меня в постгресе без индексов на 10гб выбирал долго
Chern
остальные до 9 мб
Tishka17
остальные до 9 мб
Окей 1 терабайт
Chern
ля у меня в постгресе без индексов на 10гб выбирал долго
Это я уже продумаю, индексы, разложения на мелкие таблицы, партицирования и тд
Chern
Tishka17
Где-то в процессе придумывания выяснится одно из двух: 1. Нужен хадуп 2. Все данные не нужны в базе
Chern
Где-то в процессе придумывания выяснится одно из двух: 1. Нужен хадуп 2. Все данные не нужны в базе
хадуп может быть и потом строиться реляционка, уже такое проходил, если правильно построить, всё быстренько летает
Tishka17
Ну вот
Tishka17
И не надо пихать 40 гигов в постгрес
Chern
Я просто ненавижу строить на лету миллионы витрин для аналитики лучше сделать инфраструктуру данных нормальную и пусть аналитики достают через сиквел
Chern
у нас аналитики сами строят через хадуп
ну в хадупе уже готовая витрина (шелф, срез, полка) и они просто ее экспортят?
Tishka17
нет, пишут срипты для мапредьюса
Tishka17
хз как это устроено, не моя тема
Chern
Chern
ладно, пойду искать как реализовать ((
Chern
если вдруг будут идеи, буду благодарен!
Iz
https://pikabu.ru/story/taksistprogrammist_6886081
Vadim
Есть на джанга url сокращатель, считает количество переходов по ссылке и вот как выполняется: # pk например x8sJ ShortenedUrl.objects.filter(pk=kwargs['pk']).update(counter=F('counter')+1) Как сделать правильно? Чтобы коректно считалось при параллельных запросах
Ivan
Проще всего заюзать что-то что поддерживает инкременты (редис) или записывать каждый клик как строку в таблицу и потом агрегировать
Ivan
Ещё можно в транзакции заселектить и заинсертить инкрементированное значение, но не очень уверен что это можно конкретно в джанго орм сделать
Ivan
https://docs.djangoproject.com/en/2.2/ref/models/querysets/#select-for-update можно
Туночка️
Ivan
тысяча локов! это есть гуд?
а кому сейчас легко?
Anonymous
В джанге есть F
Anonymous
Инкремент на стороне базы