小编Nor*_*mal的帖子

Apache Spark与Apache Ignite

目前我正在研究Apache spark和Apache点燃框架.

本文描述了它们之间的一些原理差异点燃火花但我意识到我仍然不理解它们的目的.

我的意思是哪个问题比点燃更可取,反之亦然?

apache-spark ignite

31
推荐指数
3
解决办法
2万
查看次数

aws:EMR 集群在提交 Spark 作业时失败“错误用户数据:尝试获取用户数据时遇到错误”

已成功启动 aws EMR 集群,但任何提交均失败并显示:

19/07/30 08:37:42 ERROR UserData: Error encountered while try to get user data
java.io.IOException: File '/var/aws/emr/userData.json' cannot be read
    at com.amazon.ws.emr.hadoop.fs.shaded.org.apache.commons.io.FileUtils.openInputStream(FileUtils.java:296)
    at com.amazon.ws.emr.hadoop.fs.shaded.org.apache.commons.io.FileUtils.readFileToString(FileUtils.java:1711)
    at com.amazon.ws.emr.hadoop.fs.shaded.org.apache.commons.io.FileUtils.readFileToString(FileUtils.java:1748)
    at com.amazon.ws.emr.hadoop.fs.util.UserData.getUserData(UserData.java:62)
    at com.amazon.ws.emr.hadoop.fs.util.UserData.<init>(UserData.java:39)
    at com.amazon.ws.emr.hadoop.fs.util.UserData.ofDefaultResourceLocations(UserData.java:52)
    at com.amazon.ws.emr.hadoop.fs.util.AWSSessionCredentialsProviderFactory.buildSTSClient(AWSSessionCredentialsProviderFactory.java:52)
    at com.amazon.ws.emr.hadoop.fs.util.AWSSessionCredentialsProviderFactory.<clinit>(AWSSessionCredentialsProviderFactory.java:17)
    at com.amazon.ws.emr.hadoop.fs.rolemapping.DefaultS3CredentialsResolver.resolve(DefaultS3CredentialsResolver.java:22)
    at com.amazon.ws.emr.hadoop.fs.guice.CredentialsProviderOverrider.override(CredentialsProviderOverrider.java:25)
    at com.amazon.ws.emr.hadoop.fs.s3.lite.executor.GlobalS3Executor.executeOverriders(GlobalS3Executor.java:130)
    at com.amazon.ws.emr.hadoop.fs.s3.lite.executor.GlobalS3Executor.execute(GlobalS3Executor.java:86)
    at com.amazon.ws.emr.hadoop.fs.s3.lite.AmazonS3LiteClient.invoke(AmazonS3LiteClient.java:184)
    at com.amazon.ws.emr.hadoop.fs.s3.lite.AmazonS3LiteClient.doesBucketExist(AmazonS3LiteClient.java:90)
    at com.amazon.ws.emr.hadoop.fs.s3n.Jets3tNativeFileSystemStore.ensureBucketExists(Jets3tNativeFileSystemStore.java:139)
    at com.amazon.ws.emr.hadoop.fs.s3n.Jets3tNativeFileSystemStore.initialize(Jets3tNativeFileSystemStore.java:116)
    at com.amazon.ws.emr.hadoop.fs.s3n.S3NativeFileSystem.initialize(S3NativeFileSystem.java:508)
    at com.amazon.ws.emr.hadoop.fs.EmrFileSystem.initialize(EmrFileSystem.java:111)
    at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2859)
    at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:99)
    at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2896)
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2878)
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:392)
    at org.apache.spark.deploy.DependencyUtils$.org$apache$spark$deploy$DependencyUtils$$resolveGlobPath(DependencyUtils.scala:190)
    at org.apache.spark.deploy.DependencyUtils$$anonfun$resolveGlobPaths$2.apply(DependencyUtils.scala:146)
    at org.apache.spark.deploy.DependencyUtils$$anonfun$resolveGlobPaths$2.apply(DependencyUtils.scala:144)
    at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:241)
    at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:241)
    at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-emr apache-spark

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

Spark流式传输:批处理间隔与窗口

我有火花流应用程序,它消耗kafka消息.我想要处理所有最后10分钟的消息.看起来有两种方法可以完成工作:

val ssc = new StreamingContext(new SparkConf(), Minutes(10))
val dstream = ....
Run Code Online (Sandbox Code Playgroud)

val ssc = new StreamingContext(new SparkConf(), Seconds(1))
val dstream = ....
dstream.window(Minutes(10), Minutes(10))
Run Code Online (Sandbox Code Playgroud)

我只想澄清它们之间是否有任何性能差异

apache-spark spark-streaming

5
推荐指数
0
解决办法
7803
查看次数

java:缓存数据库表,刷新时间为1小时

我需要一些用于Java的缓存解决方案。我需要存储1小时逐出的1 db表的内容,然后清除所有值并再次填充表中的数据。

我一直在研究番石榴缓存,但似乎它未在CacheLoader中提供所需的api 。方法CacheLoader.load仅填充1个值(因此我想同时填充所有值),并且CacheLoader.loadAll应该由getAll调用触发,在我的情况下应避免这种情况。

这是我想要的伪代码:

Cache<String, String> cache = CacheBuilder.newBuilder()
    .expireAfterWrite(1, TimeUnit.HOURS)
    .build(new CacheLoader<String, String> {
         public Map<String, String> loadAll()  {
             // some logic for retrieving data from db  
         }
    })

...
String value = cache.get(key)
Run Code Online (Sandbox Code Playgroud)

可能与重复。但是它看起来很旧,并且不包含所需的解决方案。

另外,我有一个不同的用例,在某些用例中,应从Web服务器或文件系统上的文件中检索数据,因此我不想依赖任何数据库特定的方法作为休眠缓存或某种类型的东西。

谢谢!

java guava

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

AWS:未找到 iam 的实例元数据

我正在尝试在我的 ec2 实例上设置 elasticsearch s3 快照。它失败并出现以下错误:

nested: NotSerializableExceptionWrapper[sdk_client_exception: The requested metadata is not found at http://169.254.169.254/latest/meta-data/iam/security-credentials/
Run Code Online (Sandbox Code Playgroud)

如果我从该 ec2 实例查询元数据服务器,它会响应以下内容:

$ curl http://169.254.169.254/latest/meta-data/
ami-id
ami-launch-index
ami-manifest-path
block-device-mapping/
events/
hostname
identity-credentials/
instance-action
instance-id
instance-type
local-hostname
local-ipv4
mac
metrics/
network/
placement/
profile
public-keys/
reservation-id
security-groups
services/
Run Code Online (Sandbox Code Playgroud)

所以没有iam部分。

如何使 iam 部分可用于从 ec2 实例进行查询?

amazon-s3 amazon-ec2 amazon-web-services

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

在 java 中检查对象相等性而不覆盖 equals

java中是否有任何实用程序允许检查对象相等性而无需覆盖equals?由于某些原因,我不想为我的类提供 equals 方法。我的单元测试中需要类似SomeUtils.equals(a,b)的东西来比较所有对象字段(我猜是通过反射)。

java unit-testing equals

3
推荐指数
1
解决办法
5616
查看次数

Scala:列表中的不同foldRight实现

我刚刚发现scala(我在2.12上)为不可变列表可变列表提供了完全不同的foldRight实现.

不可变列表(List.scala):

override def foldRight[B](z: B)(op: (A, B) => B): B =
    reverse.foldLeft(z)((right, left) => op(left, right))
Run Code Online (Sandbox Code Playgroud)

可变列表(LinearSeqOptimized.scala):

  def foldRight[B](z: B)(@deprecatedName('f) op: (A, B) => B): B =
    if (this.isEmpty) z
    else op(head, tail.foldRight(z)(op))
Run Code Online (Sandbox Code Playgroud)

现在我只是好奇.能否请您解释一下为什么实施方式如此不同?

scala

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

spark sql:如何为用户项创建 sessionId

假设我有这样的数据集:

|    item    | event       | timestamp |   user    |
|:-----------|------------:|:---------:|:---------:|
| titanic    | view        |     1     |    1      |
| titanic    | add to bag  |     2     |    1      | 
| titanic    | close       |     3     |    1      | 
| avatar     | view        |     6     |    1      |
| avatar     | close       |     10    |    1      |
| titanic    | view        |     20    |    1      |
| titanic    | purchase    |     30    |    1      |
Run Code Online (Sandbox Code Playgroud)

等等。我需要为每个用户计算 sessionId 以获取与特定项目相对应的连续事件。

所以对于那个特定的数据输出应该如下: …

sql apache-spark apache-spark-sql

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

spark数据框:爆炸列表列

我从Spark Aggregator获得了List [Character]的输出

case class Character(name: String, secondName: String, faculty: String)
val charColumn = HPAggregator.toColumn
val resultDF = someDF.select(charColumn)
Run Code Online (Sandbox Code Playgroud)

所以我的数据框看起来像:

+-----------------------------------------------+
|               value                           |
+-----------------------------------------------+
|[[harry, potter, gryffindor],[ron, weasley ... |
+-----------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

现在我想将其转换为

+----------------------------------+
| name  | second_name | faculty    |
+----------------------------------+
| harry | potter      | gryffindor |
| ron   | weasley     | gryffindor |
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

apache-spark apache-spark-sql

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

slick3:选择随机行

我在 scala 上编写应用程序,并使用 slick for db 运行框架。我想从数据库端的表中选择随机行。像这样的东西:

val items = TableQuery[ItemTable]
val db = Database.forConfig("db.default")

def getRandom: Item = ???
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我当前的实现是选择全部作为列表并在 scala 代码上随机选择。

scala playframework slick

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