Задать вопрос
  • Как добавить Oracle Instant Client в Docker?

    @nurzhannogerbek Автор вопроса
    Дмитрий, Протестировал с упомянутыми настройками. К сожалению ошибка =(
  • Как добавить Oracle Instant Client в Docker?

    @nurzhannogerbek Автор вопроса
    Дмитрий, Здравствуйте, Дмитрий! Спасибо за ваш пример! На самом деле "RUM" была опечаткой, извиняюсь за невнимательность. Пути о прокси я опустил, так как подумал, что они не важны в данном случаи. Просто хотел указать, что они есть. Я смог создать image и контейнер. Но последний не запустился. В логах docker я вижу следующую ошибку:

    /node_modules/oracledb/lib/oracledb.js:65
          throw new Error(nodbUtil.getErrorMessage('NJS-045', nodeInfo));
          ^
    
    Error: NJS-045: cannot load the oracledb add-on binary for Node.js 11.4.0 (linux, x64)
    Node.js require() error was:
      DPI-1047: 64-bit Oracle Client library cannot be loaded: "libclntsh.so: cannot open shared object file: No such file or directory". See https://oracle.github.io/odpi/doc/installation.html#linux for help
    Node.js require() mapped to /node_modules/oracledb/build/Release/oracledb.node
    Node-oracledb installation instructions: https://oracle.github.io/node-oracledb/INSTALL.html
    You must have 64-bit Oracle client libraries in LD_LIBRARY_PATH, or configured with ldconfig.
    If you do not have Oracle Database on this computer, then install the Instant Client Basic or Basic Light package from
    http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
    
        at Object.<anonymous> (/node_modules/oracledb/lib/oracledb.js:65:13)
        at Module._compile (internal/modules/cjs/loader.js:723:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10)
        at Module.load (internal/modules/cjs/loader.js:620:32)
        at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
        at Function.Module._load (internal/modules/cjs/loader.js:552:3)
        at Module.require (internal/modules/cjs/loader.js:659:17)
        at require (internal/modules/cjs/helpers.js:22:18)
        at Object.<anonymous> (/node_modules/oracledb/index.js:1:80)
        at Module._compile (internal/modules/cjs/loader.js:723:30)
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! saturn-backend@0.0.0 start: `node index.js`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the saturn-backend@0.0.0 start script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /root/.npm/_logs/2018-12-28T12_06_50_714Z-debug.log


    Как вы видите, я пытаюсь в Docker завернуть проект на Node.js. Сам проект подключается к удаленной базе данных Oracle c помощью пакета node-oracledb. Из ошибки можно заметить, что не все настройки связанные с Oracle Instant Client были сделаны. Можете ли еще раз подсказать, что упустил? Какого рода настройки я должен еще сделать с файлом libclntsh.so?
  • Как проверить работу планировщика CRON?

    @nurzhannogerbek Автор вопроса
    Здравствуйте, проблему решил. Проблема была с правами. В самом .sh файле путь до .jar файла был указан правильно. Добавил сейчас логирование, стало полегче:

    * */1 * * * /path/application.sh >> /path/application.log


    К слову, в директории /var/log/ нашел файл cron. В нем есть информация о запусках планировщика.
  • Как проверить работу планировщика CRON?

    @nurzhannogerbek Автор вопроса
    Здравствуйте, проблему решил. Проблема была с правами. В самом .sh файле путь до .jar файла был указан правильно. Добавил сейчас логирование, стало полегче:

    * */1 * * * /path/application.sh >> /path/application.log


    К слову, в директории /var/log/ нашел файл cron. В нем есть информация о запусках планировщика.
  • Как в Яндекс Карте скрыть/показать гео-объекты?

    @nurzhannogerbek Автор вопроса
    Александр, Я сейчас тестирую. При клике на определенную кнопку я пытаюсь скрыть коллекцию.

    Появляется ошибка:
    Error in event handler for "setVisibilityValue": "TypeError: Cannot read property 'options' of undefined"


    <template>
        <Child @setVisibilityValue="setVisibilityValue"/>
    </template>
    
    data() {
        return {
            markerCollectionVisibility: true,
        }
    },
    mount(): {
        firstCallToPage();
    }.
    methods: {
        firstCallToPage() {
            axios.all([
                axios.get(URL)
            ]).then(axios.spread(function (markers){
                // Создаем коллекцию для маркеров
               let markerCollection = new ymaps.GeoObjectCollection();
        
               for (let item = 0; item < markers.data.length; item++) {
                    // Создаем маркеры.
                   let placemark= new ymaps.Placemark(markers[item]["coordinates"]);
    
                   // Добавить маркер в коллекцию
                  markerCollection.add(placemark);
               }
    
               // Добавить коллекцию на карту
               self.map.geoObjects.add(markerCollection);
            }
        },
        setVisibilityValue(value) {
                console.log("Значение: " + value); // Возвращает false
                this.markerCollectionVisibility = value;
                self.markerCollection.options.set('visible', this.markerCollectionVisibility);
        },
    }
  • Как в Яндекс Карте скрыть/показать гео-объекты?

    @nurzhannogerbek Автор вопроса
    Здравствуйте, Александр!

    Могли бы привести пример? Добавить гео-объекты я знаю как, как удалить лишь определенные не совсем понятно для меня.

    Например так можно очистить всю карту:

    this.map.geoObjects.removeAll();
  • Как передать данные из дочернего компонента в родительский?

    @nurzhannogerbek Автор вопроса
    Спасибо за ответ, Сергей! Пока что произвел лишь декомпозицию. Разбил все на мелкие функции. Как будет время обязательно изучу последний вами упомянутый пункт.
  • Как передать данные из дочернего компонента в родительский?

    @nurzhannogerbek Автор вопроса
    Сергей delphinpro, Сергей здравствуйте! Ознакомился со статьей, но все равно есть недопонимание. Я попробовал следующий код. При нажатии на кнопку в Navbar (дочерний компонент) у меня создается новая карта в родительском компоненте. Получается что на экране две карты. Также как применить переданные данные в url адресе новых запросов?

    Navbar.vue (дочерний компонент):
    ***
    methods: {
            search: function () {
                    // При клике на кнопку значения времени
                    console.log(this.range.start);
                    console.log(this.range.end);
    
                    this.$emit('clicked', this.range.start, this.range.end);
            }
    }
    ***


    YandexMap.vue (родительский компонент):
    <template>
            ***
            <Navbar @clicked="geoObjects"/>
            ***
    </template>
  • Как отфильтровать данные за определенный период в Spark?

    @nurzhannogerbek Автор вопроса
    Здравствуйте! Спасибо за информацию.

    Насколько следующий код корректен на ваш взгляд? Не совсем уверен в корректности фильтрации по массиву мобильных номеров.

    import spark.implicits._
    
    // Изначально приходят такие вот данные в формате "String"
    val dateFrom = "2018-10-01"
    val dateTo = "2018-11-05"
    val numbers = "7778529636,745128598,7777533575"
    
    // Создаю массив из мобильных номеров
    val mobileNumbers = numbers.split(",")
    
    var mf = spark.read.parquet("fs://path/file.parquet")
    .filter(
    	$"START_DATE".between(dataForm + " 00:00:00", dateTo + " 23:59:59") && $"MOBILE_NUMBER".isin(mobileNumbers: _*)
    )
    
    mf.show


    На счет распараллеливание вычислений, к примеру создаю датафрейм, но что с ним дальше делать не знаю.
    val df = spark.sparkContext.parallelize(mobileNumbers).toDF("mobile_numbers")
  • Взаимодействие компонентов во Vue.js?

    @nurzhannogerbek Автор вопроса
    Алексей Ярков, понятно, а можно ли его отключить?
  • Взаимодействие компонентов во Vue.js?

    @nurzhannogerbek Автор вопроса
    Здравствуйте! Спасибо за наводку. На самом деле из Яндекса я осознанно ничего не тяну при клике на метку. При клике на метку в разделе "Network" инструмента разработчика заметил следующее:
    5c10d3cadc1c4955987242.png

    Первым загружаются стили, вторым идет какая-то загрузка из Яндекса. Что мы тянем из яндекса, вы не знаете что за grab.cur?

    В App.vue я устанавливал import стиля, в дочернем компоненте я уже использовал этот стиль для текстов. Видимо загрузка этого стиля и является причиной тормозов.
  • Есть ли в PostgreSQL 11 планировщик задач из коробки?

    @nurzhannogerbek Автор вопроса
    Здравствуйте! В целом ничем, просто подумал зачем лишний раз у нему обращаться, если у БД есть возможность из коробки. Выяснилось, что у PostgreSQL ее нет из коробки. Буду использовать планировщик в OC :)
  • Есть ли в PostgreSQL 11 планировщик задач из коробки?

    @nurzhannogerbek Автор вопроса
    Спасибо за информацию!
  • Есть ли в PostgreSQL 11 планировщик задач из коробки?

    @nurzhannogerbek Автор вопроса
    Спасибо за информацию!
  • Как на стороне клиента принять данные по частям при GET запросе?

    @nurzhannogerbek Автор вопроса
    Здравствуйте! На стороне бэкенда изучу возможность включения gzip. Спасибо за совет!

    В моем случаи гео-объектами являются полигоны. Метки я не использую. Получается нужно отобразить гору полигонов на карте целой страны. В зависимости от статуса, полигоны разного цвета. Видя к примеру полигон с красным цветом, пользователь (оператор) понимает, что там есть проблема и уже углубляется в этот полигон и изучает проблему. Поэтому вариант с загрузкой определенных полигонов при зумировании для меня не вариант. Пользователь не будет этого делать. Он будет заходить лишь в то, что видит сразу. Другой вопрос кластеризация, то есть группировать полигоны. При зумировании раскрывать кластер. Не совсем понятно сейчас для меня как это реализовать. Провожу benchmark тесты, такой объем данных и вправду для браузера тяжкий. Поэтому я хотел разбить этот большой пул данных на куски. На стороне бэкенда мне это удалось, а на стороне клиента нет, поэтому и задал вопрос в Тостере.
  • Как на стороне клиента принять данные по частям при GET запросе?

    @nurzhannogerbek Автор вопроса
    Здравствуйте! В моем случаи гео-объектами являются полигоны. Метки я не использую. Получается нужно отобразить гору полигонов на карте целой страны. В зависимости от статуса, полигоны разного цвета. Видя к примеру полигон с красным цветом, пользователь (оператор) понимает, что там есть проблема и уже углубляется в этот полигон и изучает проблему. Поэтому вариант с загрузкой определенных полигонов при зумировании для меня не вариант. Пользователь не будет этого делать. Он будет заходить лишь в то, что видит сразу. Другой вопрос кластеризация, то есть группировать полигоны. При зумировании раскрывать кластер. Не совсем понятно сейчас для меня как это реализовать.
  • Как на стороне клиента принять данные по частям при GET запросе?

    @nurzhannogerbek Автор вопроса
    Здравствуйте! Спасибо за советы.

    1. У меня в основном динамические данные. То есть в зависимости от выбранного пользователем периода, на карте будут отображаться разные гео-объекты. Я правильно понимаю, что при первом обращении данные будут грузиться долго, последующие схожие запросы будут грузиться из кэша?
    2. Изучу этот вопрос.
    3. В моем случаи гео-объектами являются полигоны. Метки я не использую. Получается нужно отобразить гору полигонов на карте целой страны. В зависимости от статуса, полигоны разного цвета. Видя к примеру полигон с красным цветом, пользователь (оператор) понимает, что там есть проблема и уже углубляется в этот полигон и изучает проблему. Поэтому вариант с загрузкой определенных полигонов при зумировании для меня не вариант. Пользователь не будет этого делать. Он будет заходить лишь в то, что видит сразу. Другой вопрос кластеризация, то есть группировать полигоны. При зумировании раскрывать кластер. Не совсем понятно сейчас для меня как это реализовать. Если быть точнее как будут выглядеть данные для кластера на бэкенде.
  • Как ускорить запрос с DISTINCT в PostgreSQL?

    @nurzhannogerbek Автор вопроса
    Melkij, это я так, для примера такие цифры привел. В любом случаи, спасибо, что на пальцах все объяснили!
  • Как ускорить запрос с DISTINCT в PostgreSQL?

    @nurzhannogerbek Автор вопроса
    Максим Sh, Максим, спасибо за дополнительную информацию!

    Поэкспериментировал. Установил: SET enable_seqscan TO false;

    Сейчас наглядно вижу, что используется мой индекс (INDEX Cond), но запрос выполняется дольше.

    SELECT "CITY", "AREA", "REGION"
    FROM youtube
    WHERE
        "CITY" IS NOT NULL
    AND
        "AREA" IS NOT NULL
    AND
        "REGION" IS NOT NULL
    GROUP BY "CITY", "AREA", "REGION"


    EXPLAIN ANALYZE возвращает:
    5c0a3c56bf8c6028329552.png
  • Как ускорить запрос с DISTINCT в PostgreSQL?

    @nurzhannogerbek Автор вопроса
    Melkij, Cпасибо! Теперь понятно с индексами. А есть ли смысл в партиционировании, если я указываю искать конкретные данные в большом объеме данных. Предположим из 25 миллионов которые есть в таблице, 5 миллионов соответствуют этому условию:

    SELECT "CITY", "AREA", "REGION"
    FROM youtube
    WHERE
        "CITY"="London"
    AND
        "AREA"="Brent"
    AND
        "REGION"="WEMBLEY"