小编sal*_*oua的帖子

如何在没有循环的情况下更改bash数组元素的值

array=(a b c d)
Run Code Online (Sandbox Code Playgroud)

我想在数组的每个元素之前添加一个字符,以便拥有它

array=(^a ^b ^c ^d)
Run Code Online (Sandbox Code Playgroud)

一种简单的方法是循环数组元素并逐个更改值

for i in "${#array[@]}"
do
    array[i]="^"array[i]
done
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有任何方法可以在没有循环数组的情况下做同样的事情,因为我必须对所有元素执行相同的指令.

提前致谢.

arrays bash

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

使用增强分配初始化具有固定大小的矢量矢量

有一个固定大小的矢量矢量,

vector<vector<int> > v(10);
Run Code Online (Sandbox Code Playgroud)

我想初始化它,以便它在所有元素中都有一个具有初始化值的一维向量(例如1).

我使用了Boost Assign如下

v= repeat(10,list_of(list_of(1)));
Run Code Online (Sandbox Code Playgroud)

我有一个编译错误

error: no matching function for call to ‘repeat(boost::assign_detail::generic_list<int>)’
Run Code Online (Sandbox Code Playgroud)

你能告诉我怎么做吗?提前致谢

c++ boost vector repeat assign

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

kafka-console-producer和bash脚本

想通过bash脚本发送一些消息.

  bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &
sleep 2

bin/kafka-server-start.sh config/server.properties > server.log 2>&1 &
sleep 2

#Create topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic $1
sleep 2

#Get topics list
echo "kafka has next topics:"
bin/kafka-topics.sh --list --zookeeper localhost:2181

#send message
echo "will send messages:"
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic $1 "test 1"
Run Code Online (Sandbox Code Playgroud)

卡夫卡开局不错.我可以通过制作人控制台发送消息

 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic $1 "test 1"
Run Code Online (Sandbox Code Playgroud)

但我不能发送消息到bash脚本.如何通过bash脚本发送它?

谢谢.

bash apache-kafka

16
推荐指数
4
解决办法
2万
查看次数

生成消息时找不到主题:UNKNOWN_TOPIC_OR_PARTITION

我有一个双节点kafka集群(EC2实例),其中每个节点都用作一个单独的代理.当我使用以下命令在leader实例上运行生产者时:

kafka-console-producer.sh   --broker-list localhost:9092 --topic test
Run Code Online (Sandbox Code Playgroud)

我收到以下错误.

测试消息[2017-01-09 13:22:39,483] WARN在获取具有相关ID 0的元数据时出错:{test = UNKNOWN_TOPIC_OR_PARTITION}(org.apache.kafka.clients.NetworkClient)[2017-01-09 13:22: [39,562] WARN获取具有相关ID 1的元数据时出错:{test = UNKNOWN_TOPIC_OR_PARTITION}(org.apache.kafka.clients.NetworkClient)[2017-01-09 13:22:39,663] WARN获取具有相关ID为2的元数据时出错: {test = UNKNOWN_TOPIC_OR_PARTITION}(org.apache.kafka.clients.NetworkClient)...

列出主题并kaka-topics.sh显示主题存在的显示.

主题描述:

kafka-topics.sh --zookeeper localhost:2181 --describe --topic test
Run Code Online (Sandbox Code Playgroud)

回报

 Topic:test PartitionCount:8    ReplicationFactor:1 Configs:
     Topic: test    Partition: 0    Leader: 1   Replicas: 1 Isr: 1
     Topic: test    Partition: 1    Leader: 2   Replicas: 2 Isr: 2
     Topic: test    Partition: 2    Leader: 1   Replicas: 1 Isr: 1
     Topic: test    Partition: 3    Leader: 2   Replicas: 2 Isr: 2
     Topic: …
Run Code Online (Sandbox Code Playgroud)

consumer producer apache-kafka

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

获取STL向量中大于值的元素的所有位置

我想知道如何找到验证某个条件(例如大于)的元素的索引位置.例如,如果我有一个int值向量

vector<int> V;
Run Code Online (Sandbox Code Playgroud)

V包含值 3 2 5 8 2 1 10 4 7

并且我想获得大于5的元素的所有索引位置.我知道std::find_if但是根据文档它只找到满足条件的第一个元素.

c++ stl vector std

6
推荐指数
2
解决办法
7527
查看次数

由于 int 和 bigint 数据类型不兼容,读取 parquet 文件时合并架构失败

尝试使用架构合并加载镶木地板文件时

   df = spark.read.option("mergeSchema", "true").parquet('some_path/partition_date')
   df.show()
Run Code Online (Sandbox Code Playgroud)

我收到以下异常:

    Py4JJavaError: An error occurred while calling o421.parquet.
: org.apache.spark.SparkException: Failed merging schema:
root
....
at org.apache.spark.sql.execution.datasources.parquet.ParquetFileFormat$$anonfun$mergeSchemasInParallel$1.apply(ParquetFileFormat.scala:643)
    at org.apache.spark.sql.execution.datasources.parquet.ParquetFileFormat$$anonfun$mergeSchemasInParallel$1.apply(ParquetFileFormat.scala:639)
    at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
    at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
    at org.apache.spark.sql.execution.datasources.parquet.ParquetFileFormat$.mergeSchemasInParallel(ParquetFileFormat.scala:639)
    at org.apache.spark.sql.execution.datasources.parquet.ParquetFileFormat.inferSchema(ParquetFileFormat.scala:241)
    at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$6.apply(DataSource.scala:180)
    at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$6.apply(DataSource.scala:180)
    at scala.Option.orElse(Option.scala:289)
    at org.apache.spark.sql.execution.datasources.DataSource.getOrInferFileFormatSchema(DataSource.scala:179)
    at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:373)
    at org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:223)
    at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:211)
    at org.apache.spark.sql.DataFrameReader.parquet(DataFrameReader.scala:643)
    at sun.reflect.GeneratedMethodAccessor137.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
    at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
    at py4j.Gateway.invoke(Gateway.java:282)
    at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
    at py4j.commands.CallCommand.execute(CallCommand.java:79)
    at py4j.GatewayConnection.run(GatewayConnection.java:238)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.spark.SparkException: Failed to merge fields 'some_field_name' and 'some_field_name'. …
Run Code Online (Sandbox Code Playgroud)

python apache-spark parquet pyspark apache-spark-2.0

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

使用开始和结束索引从数组中删除 n 个元素

我在 Postgres 数据库中有下表:

CREATE TABLE test(
  id SERIAL NOT NULL,
  arr int[] NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

该数组包含大约 500k 个元素。

我想知道是否有一种有效的方法来更新arr列,通过从给定开始和结束索引的数组中删除一组元素或仅删除要删除的“n 个第一个元素”的数量。

sql arrays postgresql postgresql-9.4

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

如何在多行中显示GNUPLOT键

我怎样才能在多行甚至列中显示gnuplot标题.事实上,我有8个头衔,而且我用这个:

set key below
Run Code Online (Sandbox Code Playgroud)

所以每个都显示在一个单独的行中.所以这个数字变得拥挤.

gnuplot legend

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

获取大于值的所有stl向量元素

我想知道如何找到具有验证某个条件值的stl向量元素的列表.例如,如果我有一个int值向量

vector<int> V;
Run Code Online (Sandbox Code Playgroud)

我希望获得大于5的所有元素.

提前致谢.

c++ stl vector

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

根据属性值擦除struct的向量中的元素

可能重复:
erase_if在哪里?

我的结构如下:

struct V {
 int x;
 int y;
}:
Run Code Online (Sandbox Code Playgroud)

我有一个结构元素的stl向量

vector<struct V> v1;
Run Code Online (Sandbox Code Playgroud)

我想从向量中删除属性y小于某个值的所有元素.

我怎么std::remove_if能通过定义与结构相关的谓词来做到这一点.

这是我定义的谓词,但似乎不正确.

struct less_than_value
{
 const int value;

 bool operator()(const struct V p) const
 {
    return p.y < value;
 }
};
Run Code Online (Sandbox Code Playgroud)

c++ struct stl vector

0
推荐指数
2
解决办法
6252
查看次数