2017-01-06 8 views
3

Возможно, это хорошо документировано, но я очень смущен, как это сделать (есть много инструментов Apache).Как преобразовать таблицу SQL на 500 ГБ в пакет Impala Parquet?

Когда я создаю таблицу SQL, я создаю таблицу, используя следующие команды:

CREATE TABLE table_name(
    column1 datatype, 
    column2 datatype, 
    column3 datatype, 
    ..... 
    columnN datatype, 
    PRIMARY KEY(one or more columns) 
); 

Как один новообращенный это существование таблицы в Паркетные? Этот файл записывается на диск? Если исходные данные составляют несколько ГБ, сколько времени нужно ждать?

Могла ли я форматировать исходные необработанные данные в формат Паркета?

+3

Для записи, Sqoop не имеет реального будущего теперь, Спарк набирает обороты, как «общего назначения ETL для Hadoop и далее »* (Sqoop был разработан Cloudera как решение для стоп-зазора, но Cloudera теперь защищает Spark ...) * –

ответ

4

Apache Spark может быть использован, чтобы сделать это:

1.load your table from mysql via jdbc 
2.save it as a parquet file 

Пример:

from pyspark.sql import SparkSession 
spark = SparkSession.builder.getOrCreate() 
df = spark.read.jdbc("YOUR_MYSQL_JDBC_CONN_STRING", "YOUR_TABLE",properties={"user": "YOUR_USER", "password": "YOUR_PASSWORD"}) 
df.write.parquet("YOUR_HDFS_FILE") 
+0

Отлично! Спасибо за это – ShanZhengYang

+0

Как проверить ход этого сохранения? Эта команда застряла с полчаса на моей машине? размер db равен 44 gb. – Viv

+0

@Viv вы можете проверить веб-страницу искровой работы для подробной информации о задаче, как правило, она работает на localhost: 8080 – liprais

1

Использование Sqoop (который выступает за пл л до Имел уп). Короткий отрывок из documentation:

Вы можете использовать Sqoop для импорта данных из реляционной базы данных системы управления (СУБД), такие как MySQL или Oracle или мэйнфреймов в Hadoop Distributed File System (HDFS).

 Смежные вопросы

  • Нет связанных вопросов^_^