我们如何一次从文件和 cassandra 执行映射操作?
我想通过一次映射来自文件和 cassandra 的输入来完成 hadoop 工作。 这可能吗?
我知道从目录获取文件输入文件的方法 或从 cassandra 输入数据。
但是,我不确定是否可以从他们那里获取每个输入。
这里有更多提示来描述我的情况。 数据格式相同。
像这样的文件: 键值1 值2 值3 ...
像这样的 cassandra 列结构: 关键栏 |列名1 |列名称 2 |列名 3 关键值|列值1|列 vlaue2 |列值 3 ...
我需要从它们中提取一行,然后根据每个键比较数据。 是的,我可以获得重复的密钥或新的密钥或已删除的密钥。
谢谢。
I want to do a hadoop job by mapping inputs which is from a file and a cassandra at a time.
it it possible?
I know the ways to get file inputs files from a directory
or input datas from a cassandra.
but, I am not sure to a way to get each input from them is possible.
here is more hints to describe my situation.
data format is same.
a file like this:
key value1 value2 value3
...
a cassandra column structure like this:
key column | column name1 | column name 2 | column name 3
key value | column value1| column vlaue2 | column value 3
...
I need to extract a line from them and then do compare datas based on each key.
yes, I can get duplicate keys or new keys or deleted keys.
thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过两份工作来完成此任务。首先创建一个仅地图作业,将 Cassandra 数据拉入 HDFS。
然后使用“MultipleInputs”类“addInputPath”指定您想要的数据的两个位置 http://hadoop.apache.org/common/docs/r0.20.1/api/org/apache/hadoop/mapred/lib/MultipleInputs.html
然后在你的地图(你的第二份工作)中,你可以根据你所看到的数据对输入进行基于逻辑的条件性(比如让 cassandra 的第一列说“cassandra”,并在你的地图类中识别出这一点)第二份工作)并在到达减速机时进行清理(使其均匀)。
You can do this in two jobs. First make a map only job to pull in your Cassandra data to HDFS.
Then use the "MultipleInputs" class "addInputPath" to specify the two locations you want your data from http://hadoop.apache.org/common/docs/r0.20.1/api/org/apache/hadoop/mapred/lib/MultipleInputs.html
Then in your map (of your second job) you can have logic based conditionality to what the input is based on the data you are seeing (like having the first column from cassandra say "cassandra" and recognize that in your map class of the second job) and clean it up (make it uniform) when it goes to the reducer.