复制时哈希列 table

Hash columns while copying table

我需要 散列 某些列(如 email),同时将 MySQL tables 复制到 HDFS 使用 Sqoop.


EDIT-1

目前我能想到一个非常粗糙的方法来实现这个:passing a SQL query(而不是table-name)就像跟随sqoop

SELECT
  `name`,
  SHA1(`email`) AS `email`,
  `dob`
FROM
  `my_db`.`users`

Is there a built-in option in sqoop?

没有


If not, how can this be achieved?

  • Approach-1:使用SQL-query,如问题
  • 中所述
  • 方法 2:另一种直接的方法是执行两步导入
    • sqoop import 转换为 Hive temp-table
    • 从这个 temp table 创建一个新的 Hive table 并在此过程中执行 hashing(一个好的方法是 Hive CTAS)