小编gfy*_*ytd的帖子

HBase区域服务器和Hadoop数据节点应该在同一台机器上吗?

对不起,我没有资源来设置集群来测试它,我只是想知道:

  1. 我可以在除hadoop数据节点机器之外的独立机器上部署hbase区域服务器吗?我想答案是肯定的,但我不确定.

  2. 在不同的机器上部署hbase区域服务器和hadoop数据节点是好还是坏?

  3. 将一些数据放入hbase时,这些数据最终存储在数据节点或区域服务器中?我猜它是数据节点,但是区域服务器中的StoreFile和HFile是不是存储数据的物理文件?

谢谢!

hadoop hbase

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

将动画应用于网格列后,GridSplitter无法正常工作

我是wpf的初学者,今天我遇到一个奇怪的问题,如果我向网格列添加动画,gridsplitter停止工作,下面是代码片段,它是一个毫无意义但很简单的测试代码,除了当鼠标进入右列,其宽度将从15扩展到100

    <Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Name="c1"/>
        <ColumnDefinition Name="c2" Width="15" MinWidth="15"/>
    </Grid.ColumnDefinitions>
    <Border Grid.Column="0" Background="Gray"></Border>
    <GridSplitter Width="8" Background="Yellow"></GridSplitter>
    <Border Grid.Column="1" Background="Silver" Name="bdRight" MouseEnter="bdRight_MouseEnter"></Border>
</Grid>
Run Code Online (Sandbox Code Playgroud)

还有这个:

        bool flag = true;
    private void bdRight_MouseEnter(object sender, MouseEventArgs e)
    {
        if (flag)
        {
            flag = false;
            var da = new GridLengthAnimation();
            da.From = new GridLength(c2.MinWidth);
            da.To = new GridLength(100);
            var ef = new BounceEase();
            ef.EasingMode = EasingMode.EaseOut;
            da.EasingFunction = ef;
            this.c2.BeginAnimation(ColumnDefinition.WidthProperty, da);
        }
    }
Run Code Online (Sandbox Code Playgroud)

这里是GridLengthAnimation,我发现DoubleAnimation不能用于网格列的宽度,我从互联网上得到它.

public class GridLengthAnimation : AnimationTimeline
{
    public static readonly DependencyProperty FromProperty; …
Run Code Online (Sandbox Code Playgroud)

wpf animation gridsplitter

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

Flink,使用多个Kafka源时如何正确设置并行度?

我仍然无法清楚地了解并行性,假设我们有一个有足够插槽的 flink 集群。在我们的 flink 作业中,我们使用来自 3 个不同 kafka 集群的 3 个 kafka 主题,每个主题有 10 个分区。

如果我们想尽快消费消息。并行性应该是什么?

如果我们设置parallelism为10,那么就会使用10个slot,按照我的理解就是10个线程对吧?如果这 10 个线程“连接”到 topic_1,则没有线程读取 topic_2 和 topic_3。

如果我们将并行度设置为 30,则有 30 个线程,但是这 30 个线程是否足够智能,其中 10 个转到 topic_1,其中 10 个转到 topic_2,其余 10 个转到 topic_3?

apache-flink flink-streaming

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

在谈论 Flink 异步 IO 时,“容量”参数是什么?

使用 Flink AsyncDataStream#unorderedWait 时,有一个名为“capacity”的参数,引用自 flink 官方文档,

容量:该参数定义可以同时进行多少个异步请求。尽管异步 I/O 方法通常会带来更好的吞吐量,但运算符仍然可能是流应用程序中的瓶颈。限制并发请求数量可以确保操作员不会积累不断增长的待处理请求积压,但一旦容量耗尽就会触发背压。

我不太明白,是为了整个工作,还是为了子任务?

假设我的玩具 flink 应用程序使用一个 kafka,对于每个 kafka 消息,它都会发出一个 http 请求,当它收到 http 响应时,它将它下沉到另一个 kafka 主题。

而在这个例子中,kafka源的并行度为50,如果我将'容量'设置为10,这意味着什么?这是否意味着整个应用程序最多同时发出 10 个 http 请求?或者,每个子任务 10 个 http 请求(最多同时产生 500 个 http 请求)?

另一个问题是,在这种情况下设置“容量”的最佳实践是什么?

非常感谢!

apache-flink

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

何时使用Guava sameThreadExecutor

我刚刚遇到这样的代码:

ExecutorService executorService = MoreExecutors.sameThreadExecutor();

for (int i = 0; i < 10; i++) {
  executorService.submit(new Callable<Void>() {
    @Override
    public Void call() throws Exception {
      try {
        Do some work here...
        return null;
      } catch (final Exception e) {
        throw e;
      } finally {
        //
      }
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

这和下面的代码片段有什么区别?如果我理解正确,sameThreadExecutor使用调用submit()的相同线程,这意味着所有这10个"作业"在主线程上逐个运行.

for (int i = 0; i < 10; i++) {
      try {
        Do some work here...
      } catch (final Exception e) {
        throw e;
      } finally {
        //
      }
} …
Run Code Online (Sandbox Code Playgroud)

guava

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

什么是 webservices-rt.jar?和地铁有关系吗?

抱歉,如果这是一个愚蠢的问题,但我真的很困惑,无法清楚地了解它,因为我对 java web 服务非常陌生。

我有一个公开一些 Web 服务 API 的项目,有人告诉我这个项目使用 Metro,但我没有看到像 jaxws-rt.jar 这样与 Metro 相关的 jar,而是看到了 webservices-rt.jar。

我想知道 webservices-rt.jar 是什么,它来自哪里?

java web-services microsoft-metro

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

为什么 git pull 会导致数千个合并冲突?

我们有一个远程存储库,其中有主分支、开发分支和一堆错误修复分支。

几个月前我将其克隆到本地,并签出开发分支但什么也没做,然后前几天我切换到 bugfix_1 分支,但仍然什么也没做。

今天,我切换回开发分支,并运行git pull,但它导致了数千个合并冲突。

我曾经认为git pull类似于svn update,无论远程仓库上更改了多少文件,都不应该有任何合并冲突,因为我没有在本地更改任何内容。

我曾经是一个 svn 用户,并且对 git 有点陌生,如果有人可以提供一些解释,或者一些可能的原因,我将非常感激。或者也许我只是完全做错了什么?

另一个问题是,假设我在开发分支,这两个命令之间有什么区别:

git拉

git pull origin 开发

谢谢。

编辑:

我上周根据简的建议做git fetch origin了。git reset --hard origin/development

今天,我运行git fetch origingit status它给出:

您的分支和“起源/开发”已经出现分歧,分别有 45 和 51 个不同的提交。

我不知道为什么有 45 个本地提交,我没有改变任何东西!

git

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

为什么 Spark 数据帧缓存在这里不起作用

我刚刚写了一个玩具类来测试 Spark 数据帧(实际上是数据集,因为我使用的是 Java)。

Dataset<Row> ds = spark.sql("select id,name,gender from test2.dummy where dt='2018-12-12'");
ds = ds.withColumn("dt", lit("2018-12-17"));
ds.cache();
ds.write().mode(SaveMode.Append).insertInto("test2.dummy");
//
System.out.println(ds.count());
Run Code Online (Sandbox Code Playgroud)

根据我的理解,有 2 个动作,“insertInto”和“count”。

我一步一步调试代码,运行“insertInto”时,看到几行:

19/01/21 20:14:56 INFO FileScanRDD: Reading File path: hdfs://ip:9000/root/hive/warehouse/test2.db/dummy/dt=2018-12-12/000000_0, range: 0-451, partition values: [2018-12-12]
Run Code Online (Sandbox Code Playgroud)

运行“count”时,我仍然看到类似的日志:

19/01/21 20:15:26 INFO FileScanRDD: Reading File path: hdfs://ip:9000/root/hive/warehouse/test2.db/dummy/dt=2018-12-12/000000_0, range: 0-451, partition values: [2018-12-12]
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

1)当在同一个数据帧上有 2 个动作时,如果我不显式调用 ds.cache 或 ds.persist,第二个动作是否总是会导致重新执行 sql 查询?

2)如果我正确理解日志,这两个操作都会触发 hdfs 文件读取,这是否意味着 ds.cache() 实际上在这里不起作用?如果是这样,为什么它在这里不起作用?

非常感谢。

java caching dataframe apache-spark

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

Spark saveAsTable 真的创建了一个表吗?

这可能是一个愚蠢的问题,因为缺乏 Spark 的一些基本知识,我尝试这样做:

SparkSession spark = SparkSession.builder().appName("spark ...").master("local").enableHiveSupport().getOrCreate();
Dataset<Row> df = spark.range(10).toDF();
df.write().saveAsTable("foo");  
Run Code Online (Sandbox Code Playgroud)

这会在 Hive 的“默认”数据库下创建表,当然,我可以随时从表中获取数据。

我更新上面的代码以摆脱“enableHiveSupport”,

SparkSession spark = SparkSession.builder().appName("spark ...").master("local").getOrCreate();
Dataset<Row> df = spark.range(10).toDF();
df.write().saveAsTable("bar"); 
Run Code Online (Sandbox Code Playgroud)

代码运行良好,没有任何错误,但是当我尝试“从栏选择 *”时,spark 说,

Caused by: org.apache.spark.sql.catalyst.analysis.NoSuchTableException: Table or view 'bar' not found in database 'default';
Run Code Online (Sandbox Code Playgroud)

所以我这里有两个问题,

1)是否可以创建“原始”spark 表,而不是 hive 表?我知道Hive像mysql一样维护数据库中的元数据,spark是否也有类似的机制?

2)在第二个代码片段中,spark在调用saveAsTable时实际创建了什么?

非常感谢。

hive apache-spark

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

鼠标悬停时更改椭圆的颜色

我是WPF的全新人物.这有点令人困惑,为什么第一个代码片段工作正常(鼠标悬停,颜色改变),但第二个不起作用?

<Ellipse Height="50" Width="50" Opacity="0.5" Stroke="Black" >
<Ellipse.Style>
    <Style TargetType="{x:Type Ellipse}">
        <Setter Property="Fill" Value="Blue" />
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="Fill" Value="Green">
                </Setter>
            </Trigger>
        </Style.Triggers>
    </Style>
</Ellipse.Style>
Run Code Online (Sandbox Code Playgroud)

//

<Ellipse Height="50" Width="50" Fill="Blue" Opacity="0.5" Stroke="Black" >
<Ellipse.Style>
    <Style TargetType="{x:Type Ellipse}">
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="Fill" Value="Green">
                </Setter>
            </Trigger>
        </Style.Triggers>
    </Style>
</Ellipse.Style>
Run Code Online (Sandbox Code Playgroud)

谢谢.

wpf

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

-h选项在java命令行中的含义是什么?

在阅读bash脚本文件时,我看到:

java -cp ${CP} ${CLASS} -h redis > /dev/null 2>&1 &
Run Code Online (Sandbox Code Playgroud)

有没有人对"-h"和"redis"有任何想法?

运行"java -h"似乎打印了帮助信息,但为什么有人需要在运行java程序作为后台进程时打印帮助信息?

对于"redis",我知道它是内存中的数据库,我只是不知道将它添加到java命令行是什么意思.这是否意味着java会首先检查名为"redis"的进程是否存在?

谢谢!

bash shell

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

Oracle全文,CONTAINS()的语法

contains(columnname, 'ABC')=0
Run Code Online (Sandbox Code Playgroud)

这意味着搜索不包含单词'ABC'的数据

contains(columnname, 'ABC and XYZ')=0
contains(columnname, 'ABC or XYZ')=0
Run Code Online (Sandbox Code Playgroud)

这两个sql是什么意思?我测试了它们,没有语法错误,但它们没有像我预期的那样工作,'和'看起来像'或',而'或'似乎是'和',任何人都可以帮忙解释一下吗?谷歌中发现的所有doc都是contains()> 0,那些不是我需要的.

提前致谢.

oracle full-text-search

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

Flink,使用“对象复用模式”的规则

Doc说这个模式会出现bug,但是没有告诉我这个模式的使用规则,什么情况下会出现bug?假设我有一份工作,

  1. 来源:kafka(字节[]数据),
  2. flat-map:将 byte[] 解析为 Google Protobuf 对象 'foo',创建一个 Tuple2<>(foo.id, foo),并返回这个 tuple2
  3. keyby 和 process:对于每个 id,将第一个 foo 放入 ValueState,如果有多个具有相同 id 的对象,则更新 ValueState。10 秒后发出第一个 foo(updated)。

这种情况下,开启‘对象复用模式’可以吗?

java apache-flink

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