Azure HDInsight上的Sqoop可以写拼花文件吗?

时间:2017-05-31 17:00:26

标签: azure sqoop hdinsight

有人知道Azure HDInsight上的Sqoop是否可以编写镶木地板文件? 我正在使用HDInsight与Blob存储和Data Lake存储。 我跑的时候

sqoop import --connect 'jdbc:sqlserver://<servername>.database.secure.windows.net:1433;database=<dbname>' --username <user> --password "<password>" --table '<tablename>' --target-dir 'wasbs://<container>@<storageaccount>.blob.core.windows.net/<tablename>' --as-parquetfile -m 8 >> sqoop.<table>.out 2>&1 我收到错误

17/05/31 16:31:14 ERROR tool.ImportTool: Imported Failed: Wrong FS: wasbs://<container>@<storageaccount>.blob.core.windows.net/<tablename>, expected: wasb://<container>@<storageaccount>.blob.core.windows.net/

如果我将'wasbs://'更改为'wasb://',我会收到此错误:

17/05/31 16:32:35 ERROR sqoop.Sqoop: Got exception running Sqoop: org.kitesdk.data.DatasetNotFoundException: Unknown dataset URI pattern: dataset:wasb://<container>@<storageaccount>.blob.core.windows.net/<tablename> Check that JARs for wasb datasets are on the classpath org.kitesdk.data.DatasetNotFoundException: Unknown dataset URI pattern: dataset:wasb://<container>@<storageaccount>.blob.core.windows.net/<tablename> Check that JARs for wasb datasets are on the classpath at org.kitesdk.data.spi.Registration.lookupDatasetUri(Registration.java:128) at org.kitesdk.data.Datasets.exists(Datasets.java:624) at org.kitesdk.data.Datasets.exists(Datasets.java:646) at org.apache.sqoop.mapreduce.ParquetJob.configureImportJob(ParquetJob.java:106) at org.apache.sqoop.mapreduce.DataDrivenImportJob.configureMapper(DataDrivenImportJob.java:130) at org.apache.sqoop.mapreduce.ImportJobBase.runImport(ImportJobBase.java:264) at org.apache.sqoop.manager.SqlManager.importTable(SqlManager.java:692) at org.apache.sqoop.manager.SQLServerManager.importTable(SQLServerManager.java:163) at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:507) at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:615) at org.apache.sqoop.Sqoop.run(Sqoop.java:147) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:225) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234) at org.apache.sqoop.Sqoop.main(Sqoop.java:243)

如果我将--target-dir更改为使用带有--as-parquetfile的数据湖adl://<datalakestorename>.azuredatalakestore.net/<tablename> 我收到错误

7/05/31 17:04:33 ERROR tool.ImportTool: Imported Failed: Wrong FS: adl://<datalakestorename>.azuredatalakestore.net/<tablename>, expected: wasb://<container>@<storageaccount>.blob.core.windows.net/

这些错误的原因是什么? 我对此感到困惑

expected wasb://<container>@<storageaccount>.blob.core.windows.net/

用于Blob存储和数据湖错误。

路径wasb://<container>@<storageaccount>.blob.core.windows.net/恰好是群集的根和默认存储。为什么即使列出了-target-dir,它也会在错误消息中显示为默认值?它被缓存在某个地方吗?

为什么不能将HDInsight上的sqoop导入数据作为镶木地板文件?

0 个答案:

没有答案