Как я могу использовать большие данные, чтобы получить результаты в операторе if из данных в двух электронных таблицах? - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь доказать, что система больших данных, такая как Apache Hadoop или Google BigQuery, могла бы стать лучшей альтернативой для анализа и отображения конкретных данных быстрее и проще, чем создание целых моделей данных и отображение их из QlikView.

В этом простом примере я хочу использовать систему больших данных, чтобы выяснить, насколько высок уровень продаж онлайн.Здесь я хочу взять цитату продаж и онлайн-продаж из этих двух таблиц.

Продажи: https://docs.google.com/spreadsheets/d/1vWuVvz7Sltf6gAys28Ayv6u9juFxZPKupRYTRkcQhTA/edit?usp=sharing

Онлайн-продажи: https://docs.google.com/spreadsheets/d/162Cosl_nn0iS1y4NpytVd8NsO7sj16NdmgjtA87ppIw/edit?usp=sharing

Не могли бы вы, ребята, пожалуйстапомогите мне написать код для отображения результатов при наборе номера клиента?(Пожалуйста, проверьте таблицы)

Пока у меня есть Google BigQuery в моей облачной платформе Google и готов к тестированию кластер Hadoop.В зависимости от ваших знаний, я мог бы использовать любой из них.

К сожалению, пока у меня нет кода.

Если я наберу для клиента "1002", я хочу получить результат 44,4%, как вэлектронные таблицы его онлайн-продаж "2.000 €", поделенные на его продажи "4.500 €", равны 0,44.

Необязательно: Если у вас есть идея, как отобразить данные в Apache Ambari (или аналогичном), я был бы очень признателен за то, чтобы вы также получили ваш учебник для этого!

Большое спасибо за вашу помощь!

Это мой интерфейс в BigQuery с 10.05.2019

1 Ответ

1 голос
/ 30 апреля 2019

Вот решение для BigQuery.

Во-первых, нам нужно получить данные в документах Google Sheets, связанных с BigQuery.Вы можете сделать это, создав таблицу с источником в качестве Листа на Google Диске, это относительно просто сделать через пользовательский интерфейс:

Google BigQuery Create Table Sheets Source

ВыМожно определить схему и игнорировать строку заголовка с дополнительными параметрами.

Google BigQuery Create Table Schema Options

После настройки таблиц мы можем запросить их в BigQuery.Следующий SQL даст то, что вы хотите для каждого пользователя.Я закомментировал строку, в которой вы могли бы вставить идентификатор клиента, чтобы вернуть только этого клиента.

SELECT a.Customer AS Customer,
       round(100.00*sum(b.Online_Sales)/sum(a.Sales), 2) AS PctOnlineSales
FROM
    Dataset.Big_Data_Test_1_Sales a
JOIN
    Dataset.Big_Data_Test_1_Online_Sales b
ON a.Customer = b.Customer
--WHERE a.Customer IN ('1002')
GROUP BY 1
ORDER BY 1

Вот мои результаты при выполнении вышеуказанного:

Google BigQuery SQL Demo

Я предполагаю, что на производстве есть случаи, когда у пользователей нет покупок на обоих листах.Переключение на FULL OUTER JOIN и использование функций IFNULL & ISNULL решит проблемы, связанные с этим.

Дайте мне знать, если у вас есть какие-либо вопросы.

...