我想停止火花壳上的各种消息.
我试图编辑该log4j.properties文件以阻止这些消息.
这是内容 log4j.properties
# Define the root logger with appender file
log4j.rootCategory=WARN, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
# Settings to quiet third party logs that are too verbose
log4j.logger.org.eclipse.jetty=WARN
log4j.logger.org.eclipse.jetty.util.component.AbstractLifeCycle=ERROR
log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO
log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO
Run Code Online (Sandbox Code Playgroud)
但是消息仍在控制台上显示.
以下是一些示例消息
15/01/05 15:11:45 INFO SparkEnv: Registering BlockManagerMaster
15/01/05 15:11:45 INFO DiskBlockManager: Created local directory at /tmp/spark-local-20150105151145-b1ba
15/01/05 15:11:45 INFO MemoryStore: MemoryStore started with capacity 0.0 B.
15/01/05 15:11:45 INFO ConnectionManager: Bound socket to port 44728 with id = ConnectionManagerId(192.168.100.85,44728)
15/01/05 …Run Code Online (Sandbox Code Playgroud) 我正在查询找到精确的数组匹配并成功检索它,但是当我试图找出具有不同顺序的值的确切数组时,它就会失败.
Example
db.coll.insert({"user":"harsh","hobbies":["1","2","3"]})
db.coll.insert({"user":"kaushik","hobbies":["1","2"]})
db.coll.find({"hobbies":["1","2"]})
Run Code Online (Sandbox Code Playgroud)
第二个文件成功检索
db.coll.find({"hobbies":["2","1"]})
Run Code Online (Sandbox Code Playgroud)
什么也没显示
请帮忙
我正在使用spark和mongo.我可以使用以下代码连接到mongo:
val sc = new SparkContext("local", "Hello from scala")
val config = new Configuration()
config.set("mongo.input.uri", "mongodb://127.0.0.1:27017/dbName.collectionName")
val mongoRDD = sc.newAPIHadoopRDD(config, classOf[com.mongodb.hadoop.MongoInputFormat], classOf[Object], classOf[BSONObject])
Run Code Online (Sandbox Code Playgroud)
上面的代码给了我收集的所有文件.
现在我想在查询中应用一些条件.
为此我用过
config.set("mongo.input.query","{customerId: 'some mongo id'}")
Run Code Online (Sandbox Code Playgroud)
这一次只涉及一个条件.如果'usage'> 30,我想添加一个条件
1)如何使用spark和mongo为mongo查询添加多个条件(包括大于和小于)?
另外我想用scala迭代查询结果的每个文件?
2)如何使用scala迭代结果?
我$match在mongodb.
假设$match在某些情况下我有多个选项,blank或者null在那个阶段我想$match匹配我们文档中的那个字段。
例如
$match:{
name:'abc',
age:'' //exclude if blank or null,
city:'delhi'
}
Run Code Online (Sandbox Code Playgroud)
我只想要匹配name和city字段。如果blank或null可能的话,我希望它从聚合中排除自动。
我有一个mongo集合,如:
{
"_id": ObjectId("55cad746aed75601b4822cc9"),
"entityId": "12",
"entityType": "a",
"nameIdentity": [{
"fName": "abc",
"lName": "def",
"dob": "00",
"address": "xyz"
},
]
}
Run Code Online (Sandbox Code Playgroud)
我正在使用mongodb java 3.0驱动程序并尝试匹配和更新.例如:我试图匹配,entityId如果它找到然后添加新的nameIdentity.
我第二次通过
{
"fName": "123",
"lName": "456",
"dob": "00",
"address": "789"
}
Run Code Online (Sandbox Code Playgroud)
对于我的entityId: 12匹配,那么我的新系列应该是这样的:
{
"_id": ObjectId("55cad746aed75601b4822cc9"),
"entityId": "12",
"entityType": "a",
"nameIdentity": [{
"fName": "abc",
"lName": "def",
"dob": "00",
"address": "xyz"
}, {
"fName": "123",
"lName": "456",
"dob": "00",
"address": "789"
}]
}
Run Code Online (Sandbox Code Playgroud)
我想将它添加到相同的匹配对象或集合中.但它取代了以前的数组,并添加了这样的新:
{
"_id": ObjectId("55cad746aed75601b4822cc9"),
"entityId": "12", …Run Code Online (Sandbox Code Playgroud) 我的Mongo结构如下,
"topProcesses" : [
{
"cpuUtilizationPercent" : "0.0",
"processId" : "1",
"memoryUtilizationPercent" : "0.1",
"command" : "init",
"user" : "root"
},
{
"cpuUtilizationPercent" : "0.0",
"processId" : "2",
"memoryUtilizationPercent" : "0.0",
"command" : "kthreadd",
"user" : "root"
},
{
"cpuUtilizationPercent" : "0.0",
"processId" : "3",
"memoryUtilizationPercent" : "0.0",
"command" : "ksoftirqd/0",
"user" : "root"
},
{
"cpuUtilizationPercent" : "0.0",
"processId" : "5",
"memoryUtilizationPercent" : "0.0",
"command" : "kworker/0:+",
"user" : "root"
},
{
"cpuUtilizationPercent" : "0.0",
"processId" : "6",
"memoryUtilizationPercent" …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过 pymongo 为我的 mongodb 集合应用索引。我在用
db[collection_name].ensure_index([("field_name" , "text"),("unique", 1), ("dropDups" , 1)])
它有效。但是现在如何将其应用于多个领域?像这样的东西
db[collection_name].ensure_index([("field_name1" , "text"),("field_name2", "text"),("field_name3", "text"),("unique", 1), ("dropDups" , 1)])
我知道我们可以db.collection.ensureIndex({"$**":"text"},{"name":"TextIndex"})
在 mongo shell 中使用,但我不想索引所有字段。有人可以帮我吗?
我分组organization并用于$addToSet显示与之machineIds相关的明显区别organization.我想得到machineIds每个人的计数organization.但是,下面的代码返回所有machineIds的计数,而不是不同的计数.还有另一种方法可以获得总体独特性machineIds吗?
db.getCollection('newcollections').aggregate([{
$group: {
_id: {
organization: "$user.organization"
},
machineId: {
"$addToSet": "$user.machineId"
},
count: {
$sum: 1
}
}
}])
Run Code Online (Sandbox Code Playgroud) 我正在使用MongoDB 3.2和Java 1.8版本以及mongo-java驱动程序。我已将图像保存在数据库中。我能够保存图像,读取图像并读取所有图像。现在我想更新GridFS中的图像。如果图像名称相同,我想覆盖图像。当我尝试用相同的名称保存图像时,我得到了两个图像。我正在使用以下代码保存图像。
GridFSBucket gridFSBucket = GridFSBuckets.create(database, imageCollection);
InputStream streamToUploadFrom = new FileInputStream(new File(imageFileName));
GridFSUploadOptions options = new GridFSUploadOptions()
.metadata(new Document("type", "brand").append("name", name).append("uuid", UUID.randomUUID().toString()));
ObjectId fileId = gridFSBucket.uploadFromStream(name, streamToUploadFrom, options)
Run Code Online (Sandbox Code Playgroud)
谁能指导我找到任何特定的文档链接/解决方法,以便我可以覆盖/更新图像。
我有以下清单
val a = List(("name1","add1","city1",10),("name1","add1","city1",10),
("name2","add2","city2",10),("name2","add2","city2",20),("name3","add3","city3",20))
Run Code Online (Sandbox Code Playgroud)
我想要基于元组的前三个值从上面的列表中区分出不同的元素。从列表中查找不同元素时,不应考虑第四个值。
我想要以下输出:
val output = List(("name1","add1","city1",10),("name2","add2","city2",10),
("name3","add3","city3",20))
Run Code Online (Sandbox Code Playgroud)
是否有可能超过输出?
据我所知,distinct如果整个元组/值重复,则可以工作。我尝试了distinct如下所示:
val b = List(("name1","add1","city1",10),("name1","add1","city1",10),("name2","add2","city2",10),
("name2","add2","city2",20),("name3","add3","city3",20)).distinct
Run Code Online (Sandbox Code Playgroud)
但它给出的输出为-
List(("name1","add1","city1",10),("name2","add2","city2",10),
("name2","add2","city2",20),("name3","add3","city3",20))
Run Code Online (Sandbox Code Playgroud)
任何替代方法也将不胜感激。