복붙노트

[HADOOP] 아파치 마루로 500GB SQL 테이블을 변환하는 방법?

HADOOP

아파치 마루로 500GB SQL 테이블을 변환하는 방법?

아마 이것은 잘 문서화되어 있지만, 이것을하는 방법이 매우 혼란스러워지고 있습니다 (많은 아파치 도구들이 있습니다).

SQL 테이블을 만들 때 다음 명령을 사용하여 테이블을 만듭니다.

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

이 테이블을 파르 케에 어떻게 변환하나요? 이 파일은 디스크에 기록됩니까? 원래 데이터가 몇 GB 인 경우 대기해야하는 시간은 얼마나됩니까?

원래의 원시 데이터를 대신 파르 케 형식으로 포맷 할 수 있습니까?

해결법

  1. ==============================

    1.Apache Spark를 사용하여 다음 작업을 수행 할 수 있습니다.

    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")
    
  2. ==============================

    2.Sqoop (Sql to Hadoop의 약자)을 사용하십시오. 문서에서 짧은 발췌 부분 :

    Sqoop (Sql to Hadoop의 약자)을 사용하십시오. 문서에서 짧은 발췌 부분 :

  3. from https://stackoverflow.com/questions/41498672/how-to-convert-an-500gb-sql-table-into-apache-parquet by cc-by-sa and MIT license