BigQuery - вывод типов данных значений столбцов - PullRequest
0 голосов
/ 08 апреля 2020

Каков наилучший способ определения типа данных для значения столбца, если данные уже были загружены и данные были классифицированы как тип данных STRING (т. Е. В метаданных таблицы BQ в качестве типа данных для каждого столбца "STRING")? Я нашел несколько разных методов, но не уверен, что я пропустил какой-либо из этих методов или какой-либо из них существенно эффективнее. Результат должен включать статистику по зерну каждого значения, а не только по столбцу.

  • Использование комбинации CASE и SAFE_CAST для значения STRING для суммирования всех случаев, когда он успешно смог CAST к типу данных X (где X - любой тип данных, например INT64 или DATETIME и имеющий несколько строк в запросе, повторяет SAFE_CAST для охвата всех потенциальных типов данных)
  • Аналогично выше, но с использованием REGEXP_CONTAINS вместо SAFE_CAST для каждого значения и суммируя все экземпляры ИСТИНА (UDF сообщества, похоже, также решает эту проблему: https://github.com/GoogleCloudPlatform/bigquery-utils/blob/master/udfs/community/typeof.sql)
  • (для вышеупомянутого также можно использовать countif (), если операторы et c. )
  • Загрузка данных в pandas фрейм данных и использование чего-то вроде pd.api.types.infer_dtype для автоматического вывода, но это добавляет накладные расходы и дополнительные компоненты

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...