小编Imr*_*ran的帖子

Spark Streaming:微批并行执行

我们正在接收来自Kafka的火花流数据.在Spark Streaming中启动执行后,它只执行一个批处理,其余批处理开始在Kafka中排队.

我们的数据是独立的,可以是并行处理.

我们尝试了多个配置,包括多个执行器,核心,背压和其他配置,但到目前为止还没有任何工作.排队的消息很多,一次只处理了一个微批处理,其余的都保留在队列中.

我们希望最大程度地实现并行性,因此没有任何微批处理排队,因为我们有足够的可用资源.那么我们如何通过最大限度地利用资源来减少时间.

在此输入图像描述

// Start reading messages from Kafka and get DStream
final JavaInputDStream<ConsumerRecord<String, byte[]>> consumerStream = KafkaUtils.createDirectStream(
        getJavaStreamingContext(), LocationStrategies.PreferConsistent(),
        ConsumerStrategies.<String, byte[]>Subscribe("TOPIC_NAME",
                sparkServiceConf.getKafkaConsumeParams()));

ThreadContext.put(Constants.CommonLiterals.LOGGER_UID_VAR, CommonUtils.loggerUniqueId());

JavaDStream<byte[]> messagesStream = consumerStream.map(new Function<ConsumerRecord<String, byte[]>, byte[]>() {
    private static final long serialVersionUID = 1L;
    @Override
    public byte[] call(ConsumerRecord<String, byte[]> kafkaRecord) throws Exception {
        return kafkaRecord.value();
    }
});

    // Decode each binary message and generate JSON array
        JavaDStream<String> decodedStream = messagesStream.map(new Function<byte[], String>() {
            private static final long serialVersionUID = 1L;

            @Override
            public …
Run Code Online (Sandbox Code Playgroud)

hadoop apache-kafka apache-spark spark-streaming

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

如何使用AngularJS进行网络摄像头操作?

以前我把工作的网络摄像头代码放到我的应用程序中,但是现在当我更新到AngularJS v1.5.0时它不起作用.我正在使用与v1.3.0完美配合的webcam-directive.

这是我的代码:

<webcam placeholder="selfiePlaceHolder"
  on-stream="onStream(stream)"
  on-access-denied="onError(err)" on-streaming="onSuccess(video)">
</webcam>
Run Code Online (Sandbox Code Playgroud)

但是现在它给AngularJS v1.5.0带来了以下错误:

未捕获的错误:[$ parse:isecdom]不允许在Angular表达式中引用DOM节点!表达式:onSuccess(视频) http://errors.angularjs.org/1.5.0/ $ parse/isecdom?p0 = onSuccess(视频)

我也试着使用不同的解决方案AngularJS NG-摄像头,但即使它的演示页是不是为我工作.

注意: 我知道问题是我们无法从较新版本的AngularJS访问DOM,但相同的代码适用于旧版本.我需要知道如何将"Video"DOM对象传递给控制器​​.

javascript webcam dom angularjs

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

在失败或中止时重新运行Spark作业

我期待有配置或参数,这些配置或参数可以在通过Yarn提交任何失败的情况下自动重启Spark Jobs。我知道任务会在失败后自动重启。我完全期待可以触发重新运行整个作业的YARN或Spark配置

现在,如果由于任何问题导致任何作业中止,我们必须手动重新启动它,这会导致要处理较长的数据队列,因为这些数据被设计为几乎实时地工作。

当前配置:

#!/bin/bash

export SPARK_MAJOR_VERSION=2

# Minimum TODOs on a per job basis:
# 1. define name, application jar path, main class, queue and log4j-yarn.properties path
# 2. remove properties not applicable to your Spark version (Spark 1.x vs. Spark 2.x)
# 3. tweak num_executors, executor_memory (+ overhead), and backpressure settings

# the two most important settings:
num_executors=6
executor_memory=32g

# 3-5 cores per executor is a good default balancing HDFS client throughput vs. JVM …
Run Code Online (Sandbox Code Playgroud)

hadoop hadoop-yarn hortonworks-data-platform apache-spark spark-streaming

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

使用MYSQL Sharding拆分大数TB的表

我知道水平分区......你可以创建很多表.

我已经看到在基于应用程序的分片中,您将在多个数据库服务器上拥有相同的数据库结构.但它不会包含相同的数据.

例如:

Users 1 - 10000: server A
Users 10001 - 20000: server B
Run Code Online (Sandbox Code Playgroud)

用于分片的技术是MySQL-Proxy,例如一些工具(基于MySQL代理)是SpockProxy.我们也可以手动分片.必需的是主表,例如:

-------------------
| userA | server1 |
| userB | server2 |
| userC | server1 |
-------------------
Run Code Online (Sandbox Code Playgroud)

但是这些技术在应用程序级别处理..我想在DB服务器级别解决它..

我们可以透明地使用多个服务器吗?这将允许Mysql表扩展.

在X服务器上创建X表,最终用户通过简单查询获取数据到单个数据库服务器?

总之,我想在单个表中插入16TB的数据,但我没有在单机上有这么大的空间,所以我想安装两个服务器,每个容量为8TB.但是用户查询单个数据库并在后端获取结果可能会使用分片.

我还讨论了一些其他好的解决方案,例如MYSQL Clustering.

有没有人愿意解释,或者有一个好的初学者教程(循序渐进)教你如何跨多个服务器进行分区?

mysql database sharding bigdata

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

如何检测Hijri日期?

任何人都可以告诉一个好方法来判断作为字符串的日期是否为Hijri格式?任何自动检测字符串日期类型(Hijri)的好解决方案?

初步工作或思考: 我们可以检查年份从14或13开始像Hijri年份一样,例如"1435"...

我知道用于转换的Java JODA API:

//Convert Georgian to Hijri

DateTime dtISO = new DateTime(2014,2,25,0,0,0,0);
DateTime dtIslamic = dtISO.withChronology(IslamicChronology.getInstance());
String formatIslamic= "dd-MMMM-yyyy";
DateTimeFormatter formatter = DateTimeFormat.forPattern(formatIslamic).withChronology( IslamicChronology.getInstance());
String islamicDateString = formatter.print(dtIslamic);
System.out.println(islamicDateString);

//Convert Hijri to Georgian :

Chronology iso = ISOChronology.getInstanceUTC();
Chronology hijri = IslamicChronology.getInstanceUTC();
DateTime dtHijri = new DateTime(1435,04,24,00,00,hijri); 
DateTime dtIso = new DateTime(dtHijri, iso);
System.out.println(dtIso);
Run Code Online (Sandbox Code Playgroud)

java jodatime datetime-format hijri

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

OCaml到Java的翻译

我有很好的OCaml代码(30000行天花板).我想将它移植到Java.那么有没有免费的OCaml到Java翻译器?

我需要它,因为我自己的项目是Java,我也熟悉java,但在项目中我要使用OCaml代码,我不想重新发明轮子......我只是想修改代码(OCaml)并使用它..

我见过的OCaml到Java,但它只是使可以调用Java代码是好的ocaml的代码,但我需要完整的翻译.. 源代码(OCaml的),源代码(Java)的编译器 ..

java compiler-construction ocaml converter ocamlbuild

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

在页面加载之前加载Angular JS数据

我想在AngularJS Page Load之前加载数据.我在Angualr上也使用bootstrap和JQuery.主要问题是我在页面上有表格,并使用JQuery进行分页和其他过滤器,包括响应性.

现在发生了什么,该页面加载了所有JQuery,后来我的数据出现在页面上,没有什么像分页等.我做了以下解决方法:

 <script>
      $(function () {
        //  document.body.style.overflow = 'hidden';
          setTimeout(
                  function() 

                      $('#example1').DataTable({
                          "paging": true,
                          "lengthChange": false,
                          "searching": true,
                          "ordering": true,
                          "info": true,
                          "autoWidth": true,
                          "scrollX": true
                        });
                  }, 500);

      });
    </script>
Run Code Online (Sandbox Code Playgroud)

我添加了手动延迟等待JQuery,以便该页面之前加载其数据.

任何人都可以告诉好的解决方案,如何确保在页面HTML呈现之前加载数据?

javascript jquery angularjs

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

从句子中找到纯数字,而不是字母数字

我正在努力使正则表达式从句子中找到唯一的数字(纯数字,例如55),而不是字母数字(第2)

例如在句子"这是你的第一次测试,你得到66分"所以它应该只发现"66"而不是第一次的"1".

我试过Regex (\d+),它发现两个数字"66"和"1",但我只需要纯数字而不是字母数字.

java regex logic

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