开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

我想通过dataworks导出明细数据,但是下载只能下载1W行是为什么?

问题1:我想通过dataworks导出明细数据,但是下载只能下载1W行,于是我通过Pyodps邮件导出,而数据量大的话会报这个错,请问这个是什么问题啊,我该怎么导出大数据量明细啊?Traceback (most recent call last):
File "/home/tops/lib/python3.7/site-packages/xlsxwriter/workbook.py", line 324, in close
self._store_workbook()
File "/home/tops/lib/python3.7/site-packages/xlsxwriter/workbook.py", line 709, in _store_workbook
xml_files = packager._create_package()
File "/home/tops/lib/python3.7/site-packages/xlsxwriter/packager.py", line 137, in _create_package
self._write_worksheet_files()
File "/home/tops/lib/python3.7/site-packages/xlsxwriter/packager.py", line 193, in _write_worksheet_files
worksheet._assemble_xml_file()
File "/home/tops/lib/python3.7/site-packages/xlsxwriter/worksheet.py", line 4225, in _assemble_xml_file
self._write_sheet_data()
File "/home/tops/lib/python3.7/site-packages/xlsxwriter/worksheet.py", line 5874, in _write_sheet_data
self._write_rows()
File "/home/tops/lib/python3.7/site-packages/xlsxwriter/worksheet.py", line 6071, in _write_rows
self._write_cell(row_num, col_num, col_ref)
File "/home/tops/lib/python3.7/site-packages/xlsxwriter/worksheet.py", line 6260, in _write_cell
self._xml_string_element(string, attributes)
File "/home/tops/lib/python3.7/site-packages/xlsxwriter/xmlwriter.py", line 108, in _xml_string_element
self.fh.write("""%d""" % (attr, index))
OSError: [Errno 27] File too large
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 44, in
download_to_excel(table_map,excel_name)
File "", line 21, in download_to_excel
writer.save()
File "/home/tops/lib/python3.7/site-packages/pandas/io/excel/_xlsxwriter.py", line 195, in save
return self.book.close()
File "/home/tops/lib/python3.7/site-packages/xlsxwriter/workbook.py", line 326, in close
raise FileCreateError(e)
xlsxwriter.exceptions.FileCreateError: [Errno 27] File too large
问题2:这个tunnel 只有java sdk吗,但貌似dataworks不能直接写java代码吧,有什么方法能集成到dataworks吗,我想利用dataworks的调度功能周期导出的

展开
收起
cuicuicuic 2023-08-07 19:29:24 100 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    问题1:根据您提供的错误信息,看起来是在使用Pyodps导出大数据量明细时,由于导出的Excel文件过大引发了文件大小限制的错误。这是由于XlsxWriter库在处理大文件时可能会遇到文件大小限制的问题。

    为了解决这个问题,您可以尝试以下方法:

    分割数据:将大数据量明细拆分成较小的批次进行导出,以避免单个Excel文件过大。您可以使用Pyodps提供的分页查询功能,多次查询并导出数据,然后将这些小文件合并或处理。

    导出为其他格式:考虑将数据导出为其他格式,如CSV(逗号分隔值)或Parquet格式文件,这些格式对于处理大数据量更为高效。您可以使用Pyodps将数据导出为CSV或Parquet文件,然后在需要时进行后续处理或转换。

    问题2:确实,DataWorks中的Tunnel服务目前主要提供了Java SDK。如果您想在DataWorks中利用调度功能周期性导出数据,并且希望使用Tunnel服务,有几种可能的方法:

    自定义Python脚本:您可以编写Python脚本,使用PyODPS库进行数据查询和导出,并将脚本配置到DataWorks的Python节点上。然后,通过DataWorks的调度功能设置定时运行该脚本,从而实现周期性导出数据。

    数据集成任务:在DataWorks中,您可以创建数据集成任务,使用Tunnel服务进行数据导出。尽管Tunnel服务主要提供了Java SDK,但您可以通过在任务中使用Shell节点,编写Shell脚本来调用Java SDK实现导出功能。然后,通过DataWorks的调度功能设置定时运行该数据集成任务。

    2023-08-09 22:51:16
    赞同 展开评论 打赏
  • 回答1:看下下载方案三,下载数据。

    【下载方式一】DataStudio查询结果下载
    限制:上限1万条。
    step1:项目管理员角色设置项目开启允许下载。
    image.png

    step2:DataStudio查询结果下载
    image.png

    【下载方式二】数据分析查询结果下载
    限制:,DataWorks标准版及以上上限20万条,基础版上限1万条。仅阿里云主账号和租户管理员可以访问编辑。
    step1:安全中心>安全策略>数据查询与分析管控,开启下载
    新版本:
    image.png

    老版本:数据分析-系统管理-设置允许下载。
    image.png

    step2:SQL查询结果下载。
    image.png

    【下载方式三】SQLTask配合Tunnel实现量数据导出
    限制:支持全量下载。,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-08-08 16:31:23
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    DataWorks全链路数据质量解决方案-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks商业化资源组省钱秘籍-2020飞天大数据平台实战应用第一季 立即下载
    基于DataWorks数据服务构建疫情大屏-2020飞天大数据平台实战应用第一季 立即下载

    相关实验场景

    更多