Пробежал еще десятку
RUNIT 10km

Welcome to my personal place for love, peace and happiness 🤖
RUNIT 10km
Сразу к делу:
docker pull datasciencetoolbox/dsatcl2e
docker run --rm -it datasciencetoolbox/dsatcl2e
Подробности тут: https://datascienceatthecommandline.com/2e/chapter-2-getting-started.html
cowsay "Let's moove\!"
______________
< Let's moove! >
--------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Вот думаю может перевести на русский язык ... хм..
Не буду описывать подробно как заказать услугу Data Proc, так как это оказалось достаточно просто.
Генерируем ключ ( желательно без пароля ) для более удобного доступа.
ssh-keygen -t rsa
Создаем Data Proc кластер ... next next finish ...
Копируем данные на ноду:
cat "/Users/yuriygavrilov/Documents/My Tableau Repository/Datasources/2022.1/en_US-US/Sample - Superstore.txt" | ssh -i /Users/yuriygavrilov/ssh_key/ya_np/ya ubuntu@51.250.79.62 'cat | hadoop fs -put - "hdfs://rc1a-dataproc-m-a1s92pxkgxp555pm.mdb.yandexcloud.net:8020/user/hive/warehouse/stor/stor.csv"'
Обвязываем табличку:
create external table store
(Row_ID string ,
Order_ID string ,
Order_Date string ,
Ship_Date string ,
Ship_Mode string ,
Customer_ID string ,
Customer_Name string ,
Segment string ,
Country_Region string ,
City string ,
State string ,
Postal_Code string ,
Region string ,
Product_ID string ,
Category string ,
Sub_Category string ,
Product_Name string ,
Sales string ,
Quantity string ,
Discount string ,
Profit string
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE
LOCATION 'hdfs://rc1a-dataproc-m-a1s92pxkgxp555pm.mdb.yandexcloud.net:8020/user/hive/warehouse/stor/'
tblproperties ("skip.header.line.count"="1");
Создаем таблицу итогов продаж по регионам:
create table region_sales
(region string,
sales float
);
Загружаем данные:
insert into region_sales (region, sales) select region, sum(REPLACE(sales, ",", ".")) as sales from store group by region ;
Проверяем итоги:
select * from region_sales
Central 501239.9
East 678781.25
South 391721.9
West 725457.8
Все ровно)
но вот запросы исполняются достаточно долго 12 секунд, но никто и не обещал скорость на малых данных.
В целом очень удобно. Заказал, загрузил, посчитал и выключил.
А теперь тестируем Спарк:
spark-shell
import spark.implicits._
import spark.sql
sql("SELECT region, sum(sales) FROM store_orc group by Region").show()
+-------+------------------+
| region| sum(sales)|
+-------+------------------+
| South|391721.90536534786|
|Central| 501239.889593184|
| East| 678781.2377765179|
| West| 725457.8231142759|
+-------+------------------+
Класс!) заработало)
:))) иногда думаю, что все время покупаю по 9 яиц
Иногда достаточно простой страницы, которую мы хотим опубликовать в интернет. Хостингов много разных, а хочется не только страницу сделать, но и выложить там фотки например гигов на 150 с последнего отпуска. Конечно можно купить хостинг Яндекс диск или еще Гугл и шарить папки, но кто ищет легких путей)) не я точно.
Ниже я расскажу как создать хостинг статичных страничек на протоколе s3 от Storj
Вот коротко, что требуется:
А теперь подробнее:
Далее настраиваем доступы API вводим команду:
uplink setup
Но погодите, у нас же нет еще ключей! А их мы должны взять в личном кабинете и предварительно сгенерировать. При генерации ключей можно давать полный доступ. Эти ключи не будут использоваться публично. Они нужны для работы Uplink, который запускается локально на вашем ПК.
Что бы сделать ключ заходим в аккаунт storj, меню Access и наживаем “Create Keys for CLI”. Там выбираем API и полные права. После генерации система выдаст две строки: ‘satellite address as “< nodeid>@
:и так Uplink работает. А если нет то вот инструкция: https://docs.storj.io/dcs/api-reference/uplink-cli/setup-command/
uplink share --dns www.example.com sj://bucket/prefix
В итоге uplink выдаст настройки DNS, которые мы указываем у своего провайдера.
$ORIGIN example.com.
$TTL 3600
www.example.com IN CNAME link.storjshare.io.
txt-www.example.com IN TXT storj-root:bucket/prefix
txt-www.example.com IN TXT storj-access:jqaz8xihdea93jfbaks8324jrhq1
Все! Кладем в папку site index.html и радуемся.
В прошлом году встал на доску и даже научился кататься с откинутым фалом ( без троса )
А в этом году так сразу не получилось. Все таки нужна практика и еще раз практика.
Где можно покататься: Пирогово, Строгино, Мякинино.
Где понравилось больше: Мякинино.
Цены примерно одинаковые. 5000р за 30 минут.
Вот собственно сам код:
import pandas as pd
import altair as alt
df = pd.read_excel('Sample - Superstore.xls', index_col=0)
df2 = df.groupby('Region').sum()
df2 = df2.reset_index(level=0)
bars = alt.Chart(df2).mark_bar().encode(
alt.X('Region:N', sort='-y'),
alt.Y('Sales:Q'),
color=alt.condition( alt.datum.Region == 'West', # If the year is 1810 this test returns True,
alt.value('orange'), # which sets the bar orange.
alt.value('steelblue'))
)
text = bars.mark_text(
align='left',
baseline='middle',
dx=11 # Nudges text to right so it doesn't appear on top of the bar
).encode(
text='mean(Sales):Q'
)
(bars + text).properties(height=300)
С момента запуска нод Storj ( выплату дохода еще не получал но он растет 🤑 ) начал использовать Docker контейнеры, которые запускаю на nas диске.
Очень удобно.
Пара полезных команд:
docker update --restart=always <container>
## Запускает контейнер после перезагрузки.
docker ps -a
# показывает запущенные контейнеры
## ну и еще куча разных можно узнать так:
docker --help
В целом докер удобен и прост в использовании, но уже не так модно как поды ...
Если этот факт не смущает, то можете смело выбирать понравившийся контейнер и запускать где-нибудь. Например, этот https://hub.docker.com/r/jupyter/datascience-notebook для дата саенса... или дэйта саенса.
Ресторан располагается в центре города Тверь в здании кинотеатра. Очень удачное расположение и чудесный вид со второго этажа. Утиная ножка была нежной и вкусной, ну а соус немного кисловатый, но впечатления это не испортило.
Кстати, очень любят микрозелень, почти все блюда с парой стеблей фасоли.