我有安装了Hadoop和Flume的服务器X,而且我的服务器Y既没有,也没有在同一个网络上.
服务器Y当前将数据存储到一个连续写入的日志文件中,直到在当天结束时附加日期戳并启动新的日志文件.
目标是使用flume将日志从服务器Y直播到服务器X,处理数据并将其放入HDFS.
我认为,最好的办法是在服务器Y上的syslog守护进程转发TCP通过这些事件,但有很多篮球的组织内逐步完成,即使知道可以这样做.另一个选项是(选项2 :)以某种方式从服务器Y的目录中的文件中读取,或者(选项3 :)将目录安装到服务器X,将目录视为假脱机目录.选项2的问题在于服务器Y没有安装水槽,这样做是不可能的.选项2和3的问题在于传入的信息可能不是活动的,并且在每天结束的过渡期间可能存在数据丢失.还有一个身份验证问题,必须使用单独的用户名和密码登录到服务器Y. 我们显然无法将信息硬编码到连接配置中.
我的主要问题是:是否需要在源服务器上安装Flume才能使此设置生效?水槽代理可以专门在服务器X上运行吗?哪个选项是理想的?
我想创建一个新列,如果在现有列中找到子字符串,它将返回 True,反之亦然。
因此,在这个示例中,我想在 a 列中搜索子字符串“abc”,并创建一个布尔列 b,无论 a 列是否包含该字符串。
a b
zabc True
wxyz False
abcy True
defg False
Run Code Online (Sandbox Code Playgroud)
我尝试过类似的东西
df['b'] = df['a'].map(lambda x: True if 'abc' in x else False)
Run Code Online (Sandbox Code Playgroud)
但这给了我一个错误,说“‘NoneType’类型的参数不可迭代”
我也尝试过
df['b'] = False
df['b'][df['a'].str.contains('abc')] = True
Run Code Online (Sandbox Code Playgroud)
但我收到错误“无法使用包含 NA / NaN 值的向量进行索引”
有人可以解释一下这些错误以及我能做些什么吗?我已确认 ['a'] 存在并包含值。但有些行包含 None 值。