Python3操作MongoDB批量upsert
代码如下:
1 | mongoClient = MongoClient('mongodb://172.16.72.213:27017/') |
代码如下:
1 | mongoClient = MongoClient('mongodb://172.16.72.213:27017/') |
如果在MongoDB的SECONDARY上查询数据时会报如下错误信息:
1 | > show databases; |
Java读取Properties文件有两种简单方法,就是使用ClassLoader中的资源读取方法。
使用kafka-console-producer.sh向远端Kafka写入数据时遇到以下错误:
1 | $ bin/kafka-console-producer.sh --broker-list 172.16.72.202:9092 --topic test |
在没有配置advertised.host.name的情况下,Kafka并没有广播我们配置的host.name,而是广播了主机配置的hostname。远端的客户端并没有配置hosts,所以自然是连接不上这个hostname的,所以在远端客户端配置hosts。在客户端/etc/hosts中添加以下内容后问题解决:
Producer向Kafka写入数据时遇到异常:org.apache.kafka.common.errors.RecordTooLargeException。该异常是因为单条消息大小超过限制导致的。解决方法是将限制参数调大:
(1)server端:server.properties
message.max.bytes参数默认值为1000012,调整为适合的值,如10485760。
(2)producer端:
设置Producer的参数max.request.size的值与server端的message.max.bytes值一致。
MySQL中的数据如下图:
检查HDFS上的目标文件内容可以看出,回车换行符位置的数据被截断了,导致数据列错位。
Sqoop提供了配置参数,在导入时丢弃掉数据的分隔符(\n,\r,\01)。