小编mel*_*mel的帖子

Hadoop/Hive:在本地计算机上从.csv加载数据

因为这是来自新手......

我为我设置了Hadoop和Hive,因此我可以在计算机上运行Hive查询来访问AWS集群上的数据.我可以使用存储在计算机上的.csv数据运行Hive查询,就像我使用MS SQL Server一样吗?

如何将.csv数据加载到Hive中呢?它与Hadoop有什么关系以及我应该运行哪种模式?

我应该关注什么设置,这样如果我做错了什么我总是可以回去在亚马逊上运行查询而不会影响之前为我设置的内容?

sql csv hadoop hive amazon-web-services

35
推荐指数
5
解决办法
11万
查看次数

使用正则表达式从URL中提取顶级域和二级域

如何使用正则表达式从URL中仅提取顶级域名和二级域名?我想跳过所有较低级别的域名.有任何想法吗?

regex dns url

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

Hive LEFT SEMI JOIN加入'NOT EXISTS'

我有两个表有一个单键列.表a中的键是表b中所有键的子集.我需要从表b中选择不在表a中的键.

以下是来自Hive手册的引文:"LEFT SEMI JOIN以高效的方式实现了不相关的IN/EXISTS子查询语义.从Hive 0.13开始,使用子查询支持IN/NOT IN/EXISTS/NOT EXISTS运算符,因此这些JOIN中的大部分都没有不必再手动执行.使用LEFT SEMI JOIN的限制是右侧表只应在连接条件(ON子句)中引用,而不能在WHERE-或SELECT子句中引用. "

他们使用这个例子来说明:

    SELECT a.key, a.value FROM a WHERE a.key IN (SELECT b.key FROM B);
Run Code Online (Sandbox Code Playgroud)

相当于

    SELECT a.key, a.val FROM a LEFT SEMI JOIN b ON (a.key = b.key);
Run Code Online (Sandbox Code Playgroud)

但是,我需要做的是第一个带'NOT IN;的例子.不幸的是,Hive 0.13不支持这种语法.这仅用于说明:

    SELECT a.key, a.value FROM a WHERE a.key NOT IN (SELECT b.key FROM B);
Run Code Online (Sandbox Code Playgroud)

我搜索了这个网站的建议,看到了这个例子:

    SELECT a.key FROM a LEFT OUTER JOIN b ON a.key = b.key WHERE b.key IS NULL;
Run Code Online (Sandbox Code Playgroud)

它没有按预期工作.当我加入a.key而不是b和a.key IN b时,我不会这样得到原文.也许那是因为这个查询无法做到这一点,注意粗体文本 - b.key不应该出现在WHERE中.

那我该怎么办?还有其他技巧吗?谢谢!

PS我无法分享任何真实数据; 这是一个非常简单的例子,其中a中的键都包含在b中,a是b的子集.

sql hive semi-join hiveql

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

Pymongo:遍历集合中的所有文档

我正在使用PyMongo并尝试遍历MongoDB集合中的(一千万个)文档,仅提取几个键:“名称”和“地址”,然后将它们输出到.csv文件。

我无法找出使用find()。forEach()完成此操作的正确语法

我正在尝试类似的解决方法

   cursor = db.myCollection.find({"name": {$regex: REGEX}})
Run Code Online (Sandbox Code Playgroud)

REGEX可以匹配所有内容-并且导致了“杀死”。我也试过

   cursor = db.myCollection.find({"name": {"$exist": True}})
Run Code Online (Sandbox Code Playgroud)

但这也不起作用。

有什么建议么?

cursor mongodb pymongo

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

ISO 8601中的时间戳 - 最后6位yyyy-MM-dd'T'HH:mm:ss.?

我的时间戳看起来像这样:

    2015-03-21T11:08:14.859831
    2015-03-21T11:07:22.956087
Run Code Online (Sandbox Code Playgroud)

我读了一篇关于ISO 8601维基文章,但没有得到最后6位数字的含义.

我尝试使用"yyyy-MM-dd'T'HH:mm:ss.sss"或将其降低到毫秒"yyyy-MM-dd'T'HH:mm:ss.ssssss".它是否比毫秒更精确 - 高达几微秒?

java datetime timestamp iso8601 unix-timestamp

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