小编Jar*_*red的帖子

如何使用AWS SessionToken从pyspark中的S3读取?

假设我这样做:

import os os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages "org.apache.hadoop:hadoop-aws:2.7.3" pyspark-shell' from pyspark import SparkConf from pyspark import SparkContext
from pyspark import SparkConf
from pyspark import SparkContext

conf = SparkConf() \
        .setMaster("local[2]") \
        .setAppName("pyspark-unittests") \
        .set("spark.sql.parquet.compression.codec", "snappy")
sc = SparkContext(conf=conf)
s3File = sc.textFile("s3a://myrepo/test.csv")
print(s3File.count())
print(s3File.id())
Run Code Online (Sandbox Code Playgroud)

我知道,从理论上讲,我可以在'sc.textFile(...)'调用之前设置我的凭据:

sc._jsc.hadoopConfiguration().set('fs.s3a.access.key', 'awsKey')
sc._jsc.hadoopConfiguration().set('fs.s3a.secret.key', 'awsSecret')
Run Code Online (Sandbox Code Playgroud)

然而; 我没有密钥/密钥对,相反,我有一个密钥/密钥/令牌三元组(它们是通过AssumeRole定期刷新的临时凭证....有关获取这些凭据的详细信息,请参阅此处:https:// docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html)

如何使用三元组对AWS S3进行身份验证,而不仅仅是密钥和密钥?

我的偏好是com.amazonaws.auth.profile.ProfileCredentialsProvider用作凭证提供者(并在〜/ .aws /凭证中使用密钥/秘密/令牌).我愿意在命令行或硬编码上提供它们.

如果我尝试这个(使用〜/ .aws /凭证中的凭据):

sc._jsc.hadoopConfiguration().set("fs.s3a.aws.credentials.provider", "com.amazonaws.auth.profile.ProfileCredentialsProvider")
Run Code Online (Sandbox Code Playgroud)

我仍然得到这个:

py4j.protocol.Py4JJavaError: An error occurred while calling o37.partitions.
: com.amazonaws.AmazonClientException: Unable to load AWS credentials from …
Run Code Online (Sandbox Code Playgroud)

python amazon-s3 amazon-web-services pyspark

6
推荐指数
1
解决办法
1454
查看次数

使用pyspark,如何将文件中一行的多个JSON文档读入数据框?

使用Spark 2.3,我知道我可以读取这样的JSON文档文件:

{'key': 'val1'}
{'key': 'val2'}
Run Code Online (Sandbox Code Playgroud)

有了这个:

spark.json.read('filename')
Run Code Online (Sandbox Code Playgroud)

当JSON文档之间没有换行符时,如何将以下内容读入数据框?

以下是示例输入。

{'key': 'val1'}{'key': 'val2'}
Run Code Online (Sandbox Code Playgroud)

需要明确的是,我希望有两行(frame.count() == 2)的数据框。

dataframe apache-spark apache-spark-sql pyspark

6
推荐指数
1
解决办法
1154
查看次数

您可以更改 SWT TabItem 的背景和/或前景色吗?

我想更改 SWT TabItem 上文本的背景和/或前景色;但是,它(以及它的类层次结构)似乎没有用于此的方法-而且我似乎找不到任何其他可以执行此操作的成员。

想法?

java swt

5
推荐指数
1
解决办法
1550
查看次数

成为守护程序线程意味着什么?

我完全了解将一个线程标记为JVM出口上的守护程序线程的影响(如果所有非守护程序线程都退出,JVM将退出.)

将线程设置为守护进程是否还有其他副作用?

(作为一个完整的旁边,除了语义之外真的无关紧要的是守护程序线程在这种情况下不倒退的意思:守护程序线程不应该使JVM保持活动状态...例如,如果我编写自己的HTTP守护程序并且开始运行,只要该线程还活着,我不希望JVM保持活动状态吗?或者术语'守护进程'还有其他语义吗?)

java

5
推荐指数
1
解决办法
4386
查看次数

如何让Maven为我的项目生成jnlp?

我想让Maven2为我的应用程序生成一个.jnlp(webstart配置文件).

有一个maven-jnlp-plugin,但它在Maven 1.1-beta2附近被弃用了.

有没有更优选的方法来做到这一点,还是我需要自己构建这个功能?

java maven-2 build

5
推荐指数
1
解决办法
4990
查看次数

插入 XML 列时如何解决“非法转换”异常?

我有一个表,其中有一列 XML 类型。当我从 Windows 上的 WebSphere 中运行的 servlet 向该表中插入一条记录时,插入成功。但是,当我在 AIX 上的 WebSphere 中运行完全相同的代码时,出现以下异常:

com.ibm.db2.jcc.c.SqlException: Illegal Conversion: Can not convert from "java.lang.String" to "java.sql.Blob"
        at com.ibm.db2.jcc.c.r.a(r.java:695)
        at com.ibm.db2.jcc.c.uf.b(uf.java:927)
        at com.ibm.db2.jcc.c.uf.setString(uf.java:910)
        at com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper.psSetString(InternalGenericDataStoreHelper.java:554)
        at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.setString(WSJdbcPreparedStatement.java:1662)
        at org.hibernate.type.StringType.set(StringType.java:49)
        at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:154)
        at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:131)
        at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2015)
        at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2261)
        ... 33 more
Run Code Online (Sandbox Code Playgroud)

我正在针对 DB2 版本 9、z/OS 数据库运行 WebSphere 6.1。

由于平台差异,这感觉很像编码问题。但谁知道呢。有什么建议吗?

java db2 websphere hibernate

5
推荐指数
1
解决办法
4111
查看次数

在Panel而不是Form上使用C#WinForms Designer?

警告:我是C#中GUI构建的新手(来自Java中使用Swing和SWT的悠久历史.)

使用VS2008,当我创建一个新类并进行扩展时System.Windows.Forms.Form,WinForms Designer的工作效果非常好.然而; 当我创建一个新的类并进行扩展时System.Windows.Forms.Panel,设计器几乎不能优雅地工作 - 它只是显示Panel中包含的组件的某种抽象的列表类型视图(而不是显示控件的实际布局)面板.)

有没有办法让Designer更好地使用Panel?

或者是否有一些解决方法,以便我可以使用设计器构建一个表单,然后使用它,就像它只是一个面板?

我真正想要的是我可以使用设计器构建的一些UI元素,然后动态地(读取:以编程方式)将该"元素"添加/移除到更大的UI.

c# user-interface gui-designer winforms

4
推荐指数
1
解决办法
5345
查看次数

EAR文件和"WebSphere Enhanced EAR"之间有什么区别?

假设我有一个标准的EAR文件(以及用于生成它的源文件),需要进行哪些额外的处理才能将其转换为IBM WebSphere"Enhanced EAR"?

提出这个问题的另一种方法是问:"增强型EAR和标准EAR之间有什么区别?"

我非常清楚Rational开发工具(RAD和RSA)中有工具.但是,出于这个问题的目的,我需要在自动构建中完成相同的任务(通过Ant或Maven).

java ant websphere websphere-6.1 maven

4
推荐指数
1
解决办法
5964
查看次数

如何在以本地模式运行的 pyspark 中从 S3 中读取数据?

我正在使用 PyCharm 2018.1,使用 Python 3.4 和通过 pip 在 vi​​rtualenv 中安装的 Spark 2.3。本地主机上没有安装hadoop,所以没有安装Spark(因此没有SPARK_HOME、HADOOP_HOME等)

当我尝试这个时:

from pyspark import SparkConf
from pyspark import SparkContext
conf = SparkConf()\
    .setMaster("local")\
    .setAppName("pyspark-unittests")\
    .set("spark.sql.parquet.compression.codec", "snappy")
sc = SparkContext(conf = conf)
inputFile = sparkContext.textFile("s3://somebucket/file.csv")
Run Code Online (Sandbox Code Playgroud)

我得到:

py4j.protocol.Py4JJavaError: An error occurred while calling o23.partitions.
: java.io.IOException: No FileSystem for scheme: s3
Run Code Online (Sandbox Code Playgroud)

在本地模式下运行 pyspark 时如何从 s3 读取数据,而无需在本地安装完整的 Hadoop?

FWIW - 当我以非本地模式在 EMR 节点上执行它时,这很有效。

以下不起作用(相同的错误,尽管它确实解决并下载了依赖项):

import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages "org.apache.hadoop:hadoop-aws:3.1.0" pyspark-shell'
from pyspark import SparkConf
from pyspark import SparkContext
conf = …
Run Code Online (Sandbox Code Playgroud)

python amazon-s3 apache-spark pyspark

4
推荐指数
1
解决办法
8474
查看次数

如何强制maven将版本号保留在依赖文件名之外?

我正在使用maven来构建一个".ear"项目,它解决了maven存储库中的依赖关系,然后将它们打包成一个耳朵(这可能是一个多余的句子......).

当依赖项出现在ear文件中时,它们将根据以下格式命名:

<artifactId>-<version>.<type>
Run Code Online (Sandbox Code Playgroud)

我希望他们被命名为:

<artifactId>.<type>
Run Code Online (Sandbox Code Playgroud)

有人能指出我正确的方向吗?

java maven-2

2
推荐指数
1
解决办法
2847
查看次数