我试图在本地对pyspark脚本运行单元测试,以便将其集成到CI中。
$ pyspark
...
>>> import pandas as pd
>>> df = pd.DataFrame([(1,2,3), (4,5,6)])
>>> df
0 1 2
0 1 2 3
1 4 5 6
根据文档,我应该能够使用以下方法进行转换:
from awsglue.dynamicframe import DynamicFrame
dynamic_frame = DynamicFrame.fromDF(dataframe, glue_ctx, name)
但是当我尝试转换为DynamicFrame时,我在尝试实例化glucontext时会出现错误
$ pyspark
>>> from awsglue.context import GlueContext
>>> sc
<SparkContext master=local[*] appName=PySparkShell>
>>> glueContext = GlueContext(sc)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/awsglue/context.py", line 43, in __init__
self._glue_scala_context = self._get_glue_scala_context(**options)
File "/Library/Python/2.7/site-packages/awsglue/context.py", line 63, in _get_glue_scala_context
return self._jvm.GlueContext(self._jsc.sc())
TypeError: 'JavaPackage' object is not callable
如何在不使用AWS Glue Dev Endpoint的情况下使其工作?我不想每次提交代码时都被收费。这太荒谬了。
我认为目前除了使用胶水之外,我们没有其他替代选择。供参考:我可以在本地测试AWS胶水代码吗?
为什么要从dataframe转换为DynamicFrame,因为您不能使用Glue API进行单元测试-Glue API没有模拟?
我更喜欢以下方法:
有谁能帮我弥补我所缺少的东西吗? 提前道谢!
我正在使用AWS S3、Glue和Athena进行以下设置: S3级-- 我的原始数据作为CSV文件存储在S3上。我正在使用Glue进行ETL,并使用Athena查询数据。 因为我使用的是雅典娜,所以我想将CSV文件转换为拼花。我现在正在用AWS胶水来做这个。这是我当前使用的流程: 运行爬虫读取CSV文件并填充数据目录 胶水作业一次只允许我转换一个表。如果我有很多CSV文件,这个过程很快就变得无法
如何使用用户指定的架构将dataframe转换为Avro格式?
有人能分享一下如何将转换为吗?
问题内容: 我正在尝试在jni中将jbyteArray转换为本地c字符串(char *)?不幸的是,我找不到有关该操作的任何文档。我正在C代码中使用以下原型调用Java函数。 在C代码中,我正在调用此函数,该函数返回一个字节数组。该字节数组的内容是一个Java字符串。但是我需要将其转换为ac字符串。 问题答案: 相信您会使用和。就像是: 你应该能够投给在这一点上,以访问数组中的数据。请注意,这可能
问题内容: 我正在尝试将数据框的一栏转换为日期时间。在这里的讨论之后,https://github.com/dask/dask/issues/863我尝试了以下代码: 但是我收到以下错误消息 我到底应该把什么放在meta之下?我应该将所有列的字典放在df中还是仅将“时间”列放在字典中?我应该放什么类型?我已经尝试过dtype和datetime64,但到目前为止它们都没有工作。 谢谢,感谢您的指导,