[将SQL表作为实木复合地板文件导入Google云存储桶时遇到问题...下面是我面临的代码和错误。
sqoop import
--connect=jdbc:mysql://IP/DBName
--username=abc
--password=abc
--target-dir=gs://gcs_bucket
--table sales
--split-by personid -m 2
--as-parquetfile
错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/kitesdk/data/mapreduce/DatasetKeyOutputFormat
at org.apache.sqoop.mapreduce.DataDrivenImportJob.getOutputFormatClass(DataDrivenImportJob.java:190)
at org.apache.sqoop.mapreduce.ImportJobBase.configureOutputFormat(ImportJobBase.java:94)
at org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:259)
at org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:673)
at org.apache.sqoop.manager.MySQLManager.importTable(MySQLManager.java:118)
at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:497)
at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605)
at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
Caused by: java.lang.ClassNotFoundException: org.kitesdk.data.mapreduce.DatasetKeyOutputFormat
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.lo`enter code here`adClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
如何使用sqoop将Cloud SQL表作为木地板文件导入GCS存储桶?
因为sqoop
(代表Hadoop的SQL)使用Hadoop,所以我认为最好的选择是使用Cloud Dataproc。
Dataproc是一种快速,易于使用的,完全托管的云服务,用于以更简单,更具成本效益的方式运行Apache Spark和Apache Hadoop集群。过去耗时数小时或数天的操作现在只需数秒或数分钟即可完成,您只需为使用的资源付费(按秒计费)。
我附加了tutorial,以便将您的数据从Cloud SQL移至Google Cloud Storage Buckets。在本教程中,他们使用--as-avrodatafile
,但您可以将其更改为使用--as-parquetfile
。
我强烈建议您使用Cloud Datapoc的方法,因为在很长一段时间内,如果您需要一天多次运行此命令,则可以使用Cloud Dataproc来完成将Cloud SQL数据导入GCS(Google Cloud Storage)的工作。
此外,如果您想使用Python,则可以使用Apache Spark从Cloud SQL收集数据并将其写入镶木地板文件中,如此post所示。