java - 需要您在 NoSQL 数据库方面的经验
问题描述
对于我在 noSQL 数据库中的考试,我必须将 HTTP 日志文件存储到数据库中。我的教授给我的例子是在 MongoDB 中,所以我必须使用另一个 DBMS。我想过使用 Cassandra 和这样的表:
CREATE TABLE ApacheRecord (
IP text,
ident text,
http_user text,
time text PRIMARY KEY,
http_method text,
url text,
http_response_code text,
http_response_size text,
referred text,
user_agent text)
WITH compaction = { 'class' : 'SizeTieredCompactionStrategy', 'min_threshold' : '5', 'max_threshold' : '31' }
AND caching = {'keys':'ALL'}
AND speculative_retry = '99PERCENTILE'
AND gc_grace_seconds = '0';
现在,我想问你这是否是个好主意,以及是否有一个 JAVA 解析器可以分析类似字符串"192.168.4.25 - - [22/Dec/2016:16:30:52 +0300] "POST /administrator/index.php HTTP/1.1" 303 382 "http://192.168.4.161/DVWA" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21""
并返回类似“IP”、“url”等的子字符串。
PS:我尝试使用hBase,但无法启动shell
希望社区中的某个人可以帮助我,因为我不知道我是否走在正确的道路上,那是我的最后一次考试。
最后,我希望你在这个特殊时期一切都好:)
解决方案
推荐阅读
- laravel - 使用 Laravel DB:Query Builder 时有什么方法可以获取模型对象而不是 stdClass 对象?
- angular - 如何在Angular中接受多个选中的复选框?
- c# - RayCastHit2D 未检测到播放器
- angular - 绕过SecurityTrustHtml Angular 6后文本框不起作用
- python - 何时转换 GPS 坐标
- javascript - HTML DOM 元素的 ScrollTop 属性在不同的监视器上给出整数/双精度值
- android - 从android中的SharedPreferences中删除对象
- ios - 如果前一个单元格的文本字段已填写,则将单元格添加到 UITableView
- cmake - cmake 未定义类型名 loc_t (gpslib)
- yaml - Apiary 编辑器上的 Swagger 将默认值 0 呈现为 null