将数据从内部SQL Server复制为Parquet文件到Azure Blog存储 [英] Copy data from on-premise SQL Server to Azure Blog storage as parquet file

查看:97
本文介绍了将数据从内部SQL Server复制为Parquet文件到Azure Blog存储的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

人们

将本地SQL Server表中的数据复制到Azure Blob存储上的镶木文件中时出现问题,如下所示:

I got a problem when copying data from my on-premise SQL server table into a parquet file on Azure blob storage as follow:

{"errorCode":"2200","message":失败发生在接收器"端. ErrorCode = UserErrorJavaInvocationException,'Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message = An 调用Java时发生错误,消息:java.lang.UnsatisfiedLinkError:java.library.path \ n总条目中没有snappyjava:18 \ r \ njava.lang.ClassLoader.loadLibrary(未知源)\ r \ njava.lang.Runtime. loadLibrary0(未知源)\ r \ njava.lang.System.loadLibrary(未知 源)\ r \ norg.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:170)\ r \ norg.xerial.snappy.SnappyLoader.load(SnappyLoader.java:145)\ r \ norg.xerial.snappy.Snappy .< clinit>(Snappy.java:47)\ r \ norg.apache.parquet.hadoop.codec.SnappyCompressor.compress(SnappyCompressor.java:67)\ r \ norg.apache.hadoop.io.compress.CompressorStream. compress(CompressorStream.java:81)\ r \ norg.apache.hadoop.io.compress.CompressorStream.finish(CompressorStream.java:92)\ r \ norg.apache.parquet.hadoop.CodecFactory $ BytesCompressor.compress(CodecFactory. java:112)\ r \ norg.apache.parquet.hadoop.ColumnChunkPageWriteStore $ ColumnChunkPageWriter.writePage(ColumnChunkPageWriteStore.java:89)\ r \ norg.apache.parquet.column.impl.ColumnWriterV1.writePage(ColumnWriterV1.java:152) \ r \ norg.apache.parquet.column.impl.ColumnWriterV1.flush(ColumnWriterV1.java:240)\ r \ norg.apache.parquet.column.impl.ColumnWriteStoreV1.flush(ColumnWriteStoreV1.java:126)\ r \ norg .apache.parquet.hadoop.InternalParquetRecordWriter.flushRowGroupToStore (InternalParquetRecordWriter.java:164)\ r \ norg.apache.parquet.hadoop.InternalParquetRecordWriter.close(InternalParquetRecordWriter.java:113)\ r \ norg.apache.parquet.hadoop.ParquetWriter.close(ParquetWriter.java:297)\ r \ ncom.microsoft.datatransfer.bridge.parquet.ParquetWriterBridge.close(ParquetWriterBridge.java:29)\ r \ n,Source = Microsoft.DataTransfer.Common,''Type = Microsoft.DataTransfer.Richfile.JniExt.JavaBridgeException,Message =,源= Microsoft.DataTransfer.Richfile.HiveOrcBridge,", "failureType":"UserError","target":"Copy Data1" }

{ "errorCode": "2200", "message": "Failure happened on 'Sink' side. ErrorCode=UserErrorJavaInvocationException,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=An error occurred when invoking java, message: java.lang.UnsatisfiedLinkError:no snappyjava in java.library.path\ntotal entry:18\r\njava.lang.ClassLoader.loadLibrary(Unknown Source)\r\njava.lang.Runtime.loadLibrary0(Unknown Source)\r\njava.lang.System.loadLibrary(Unknown Source)\r\norg.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:170)\r\norg.xerial.snappy.SnappyLoader.load(SnappyLoader.java:145)\r\norg.xerial.snappy.Snappy.<clinit>(Snappy.java:47)\r\norg.apache.parquet.hadoop.codec.SnappyCompressor.compress(SnappyCompressor.java:67)\r\norg.apache.hadoop.io.compress.CompressorStream.compress(CompressorStream.java:81)\r\norg.apache.hadoop.io.compress.CompressorStream.finish(CompressorStream.java:92)\r\norg.apache.parquet.hadoop.CodecFactory$BytesCompressor.compress(CodecFactory.java:112)\r\norg.apache.parquet.hadoop.ColumnChunkPageWriteStore$ColumnChunkPageWriter.writePage(ColumnChunkPageWriteStore.java:89)\r\norg.apache.parquet.column.impl.ColumnWriterV1.writePage(ColumnWriterV1.java:152)\r\norg.apache.parquet.column.impl.ColumnWriterV1.flush(ColumnWriterV1.java:240)\r\norg.apache.parquet.column.impl.ColumnWriteStoreV1.flush(ColumnWriteStoreV1.java:126)\r\norg.apache.parquet.hadoop.InternalParquetRecordWriter.flushRowGroupToStore(InternalParquetRecordWriter.java:164)\r\norg.apache.parquet.hadoop.InternalParquetRecordWriter.close(InternalParquetRecordWriter.java:113)\r\norg.apache.parquet.hadoop.ParquetWriter.close(ParquetWriter.java:297)\r\ncom.microsoft.datatransfer.bridge.parquet.ParquetWriterBridge.close(ParquetWriterBridge.java:29)\r\n,Source=Microsoft.DataTransfer.Common,''Type=Microsoft.DataTransfer.Richfile.JniExt.JavaBridgeException,Message=,Source=Microsoft.DataTransfer.Richfile.HiveOrcBridge,'", "failureType": "UserError", "target": "Copy Data1" }

我的ADF在东南亚地区,Azure Blob存储也在东南亚地区.  我我不确定是否有人遇到过类似问题.如果您能分享您的想法,我将非常感激 解决方法或解决方案.

My ADF is in Southeast Asia region and so does the Azure Blob storage. I am not sure if anyone have encountered such similar issue. Really appreciate it if you could share your workaround or solution to fix it.

注意事项

Di Truong

推荐答案

您的自托管IR版本是什么?是否将SQL身份验证或Windows身份验证用于SQL Server链接服务?

What is your selfhosted IR version? Are use using SQL auth or Windows auth for your sql server linked service?

也许您可以尝试升级您的IR或尝试使用SQL身份验证.

Maybe you could try to upgrade your IR or try to use SQL auth. 


这篇关于将数据从内部SQL Server复制为Parquet文件到Azure Blog存储的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆