Kolo (ранее MLSQL) — это низко-кодовый, открытый исходный и распределенный язык программирования для облачной среды, используемый для создания данных, аналитики и искусственного интеллекта.Дизайн протокола: всё является таблицей. Kolo — это язык, похожий на SQL, который упрощает создание данных, анализ и работу с искусственным интеллектом, объединив встроенные алгоритмы и расширения.
Мы верим, что всё является таблицей, простой и мощный язык, похожий на SQL, может значительно уменьшить усилия человека при работе с данными без необходимости использования различных инструментов.
load hive.`raw.stripe_discounts` as discounts;
load hive.`raw.stripe_invoice_items` as invoice_items;
select
invoice_items.*,
case
when discounts.discount_type = 'percent'
then amount * (1.0 - discounts.discount_value::float / 100)
else amount - discounts.discount_value
end as discounted_amount
``` из invoice_items
левое внешнее соединение с discounts
по invoice_items.customer_id = discounts.customer_id
и invoice_items.invoice_date > discounts.discount_start
и (invoice_items.invoice_date < discounts.discount_end
или discounts.discount_end равно null)
как joined;
выбрать
id,
invoice_id,
customer_id,
coalesce(discounted_amount, amount) как discounted_amount,
валюта,
описание,
created_at,
deleted_at
из joined
как final;
установить allColumns = "all,wow";
!if ''' split(:allColumns,",")[0] == "all" ''';
выбрать * из final как final2;
!else;
выбрать id,invoice из final как final2;
!fi;
выбрать * из final2 как output;
https://mlsql.tech [Официальный сайт скоро будет доступен]
Дополнительная документация о расширении kolo-lang для VSCode (версия на китайском)
экспортировать MYSQL_PASSWORD=${1:-root}
экспортировать SPARK_VERSION=${SPARK_VERSION:-3.1.1}
экспортировать MLSQL_VERSION=${MLSQL_VERSION:-2.2.0-SNAPSHOT}
docker run -d \
-p 3306:3306 \
-p 9002:9002 \
-p 9003:9003 \
-e MYSQL_ROOT_HOST=% \
-e MYSQL_ROOT_PASSWORD="${MYSQL_PASSWORD}" \
--name mlsql-sandbox-${SPARK_VERSION}-${MLSQL_VERSION} \
mlsql-sandbox:${SPARK_VERSION}-${MLSQL_VERSION}
Затем вы можете посетить http://127.0.0.1:9002
.
Конвенция названий
mlsql-engine_${spark_major_version}-${mlsql_version}.tgz
## Предварительно собрано для Spark 2.4.3
mlsql-engine_2.4-2.1.0.tar.gz
## Предварительно собрано для Spark 3.1.1
mlsql-engine_3.0-2.1.0.tar.gz
## Клонировать базу кода
git clone https://github.com/byzer-org/kolo-lang.git
cd kolo-lang
export MLSQL_SPARK_VERSION=2.4
./dev/make-distribution.sh
export MLSQL_SPARK_VERSION=3.0
./dev/make-distribution.sh
## Анализатор китайского языка включен по умолчанию.
export ENABLE_CHINESE_ANALYZER=false
./dev/make-distribution.sh <spark_version>
```## Развертывание
1. [Загрузите](#Загрузка) или [соберите распределение](#Сборка)
2. Установите Spark и задайте переменную окружения SPARK_HOME; убедитесь, что версия Spark совпадает с версией MLSQL
3. Разверните tgz
- Установите переменную окружения MLSQL_HOME
- Копируйте архив распределения и распакуйте его
4. Запустите Kolo в локальном режиме
```shell
cd $MLSQL_HOME
## Запустите процесс в фоновом режиме
nohup ./bin/start-local.sh 2>&1 > ./local_mlsql.log &
Структура директорий
|-- mlsql
|-- bin
|-- conf
|-- data
|-- examples
|-- libs
|-- README.md
|-- LICENSE
|-- RELEASE
Если вы планируете внести свой вклад в этот репозиторий, создайте задачу на странице задач, даже если тема не связана непосредственно с исходным кодом (например, документация, новые идеи и предложения).
Это активный открытый проект для всех, и мы всегда открыты для людей, желающих использовать эту систему или вносить вклад в её развитие.
Для получения более подробной информации о том, как вносить вклад в проект Byzer Org, обратитесь к разделу Как вносить вклад.
Сканируйте QR-код для добавления в группу WeChat Kolo-Lang. После успешного добавления отправьте слово "mlsql".
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )