如何将500gbsql表转换成apacheparquet?

vuktfyat  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(353)

也许这是一个很好的文档,但我对如何做到这一点感到非常困惑(有许多apache工具)。
创建sql表时,使用以下命令创建表:

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

如何将现有的table转换成Parquet地板?这个文件写入磁盘了吗?如果原始数据是几gb,需要等待多长时间?
我可以将原始数据格式化为Parquet格式吗?

zlhcx6iw

zlhcx6iw1#

这个 odbc2parquet 命令行工具在某些情况下也可能有用。

odbc2parquet \
-vvv \ # Log output, good to know it is still doing something during large downloads
query \ # Subcommand for accessing data and storing it
--connection-string ${ODBC_CONNECTION_STRING} \
--batch-size 100000 \ # Batch size in rows
--batches-per-file 100 \ # Ommit to store entire query in a single file
out.par \ # Path to output parquet file
"SELECT * FROM YourTable"
wlp8pajw

wlp8pajw2#

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")

相关问题