带有HBASE的Spark和带有HDFS的Spark(Spark with HBASE vs Spark with HDFS)
我知道HBASE是一个柱状数据库,它将表的结构化数据按列而不是按行存储到HDFS中。 我知道Spark可以从HDFS读/写,并且有一些用于Spark的HBASE连接器现在也可以读写HBASE表。
问题:
1)在HBASE之上将Spark分层而不是仅使用HBASE带来了哪些附加功能? 它只取决于程序员的能力,还是有任何性能原因可以做到这一点? Spark有什么东西可以做,HBASE完全不能做?
2)从上一个问题出发,何时应该在HDFS和SPARK之间添加HBASE而不是直接使用HDFS?
I know that HBASE is a columnar database that stores structured data of tables into HDFS by column instead of by row. I know that Spark can read/write from HDFS and that there is some HBASE-connector for Spark that can now also read-write HBASE tables.
Questions:
1) What are the added capabilities brought by layering Spark on top of HBASE instead of using HBASE solely? It depends only on programmer capabilities or is there any performance reason to do that? Are there things Spark can do and HBASE solely can't do?
2) Stemming from previous question, when you should add HBASE between HDFS and SPARK instead of using directly HDFS?
原文:https://stackoverflow.com/questions/38930914
最满意答案
我不确定它是不是真的是你的情况,但最近我的同事git repo(Windows,ASP.NET MVC项目)的行为与我的同事已将.gitattributes文件推送到 github后,其中行结束设置已更改(例如从as-is到checkout windows-style,commit linux-style )。
所以git stash没有产生任何错误,但同时没有产生任何影响(修改后的文件出现在状态并保持在那里直到我提交它们)。 删除.gitattributes对我有用 。
I'm not sure if it is really your case, but recently I had the same behavior of git repo (Windows, ASP.NET MVC project) after my collegue has pushed .gitattributes file to github where the line-endings setting was changed (for example from as-is to checkout windows-style, commit linux-style).
So git stash produced no error but gave no effect at the same time (modified files appeared in status and stayed there until I commit them). Removing .gitattributes worked for me.
相关问答
更多-
git-stash对git-branch(git-stash vs. git-branch)[2023-07-05]
“藏书”将工作副本中的未提交的“ 肮脏 ”东西,将其隐藏起来,留下一份干净的工作副本。 它根本没有分支。 然后,您可以在任何其他分支顶部应用该隐藏。 或者,从Git 1.6开始,您可以: git stash branch[ ] 在一个新的分支顶部应用这个隐藏,一个命令。 所以,如果你还没有致力于“ 错误 ”的分支,那么这个藏书的作品很棒。 如果您已经承诺了,您在问题中描述的工作流程是一个更好的选择。 顺便说一下,你是对的:Git非常灵活,灵活性高,功能重叠。 'st ... -
Git藏书:“不能适用于肮脏的工作树,请你改变”(Git stash: “Cannot apply to a dirty working tree, please stage your changes”)[2022-09-30]
当我必须对垃圾工作副本进行更改时,例如从存储空间弹出多个变更集,我使用以下命令: $ git stash show -p | git apply -3 && git stash drop 基本上 创建一个补丁 管道到apply命令 如果有任何冲突,他们需要通过三方合并来解决 如果应用(或合并)成功,它会删除刚应用的隐藏项目... 我不知道为什么git stash pop没有-f (强制)选项,它应该像上面的一行那样行事。 在此期间,您可能希望将此一行添加为git别名: $ git config --glo ... -
当你储存更改时,你可以随时在任何时候应用它们。 它与合并类似,将更改应用于工作目录。 如果您有冲突的更改,则可以使用与合并冲突相同的方式解决它们。 When you stash changes you can apply them later at any point. It work analogical to a merge, wich applies changes to your working directory. If you have conflicting changes you can r ...
-
没有标志的普通git stash会使被忽略的文件保持不变。 他们没有被删除。 在TortoiseGit中,这意味着离开include untracked和--all未选中: 如果您希望存储(并删除)已修改和未删除的文件,而不是隐藏文件,请使用include untracked选项( git stash --include-untracked ): A normal git stash without flags keeps the ignored files intact. They are not rem ...
-
看起来您想要一种临时存储更改的方法,以便您不会意外删除它们,可以回滚。 最好的方法是在本地实际提交更改。 典型的工作流程如下: vim myfile # make some changes git add myfile git commit -m "temp changes 1" vim myfile # make more changes git commit --amend git diff HEAD~1 # See the changes you've made compared to last HE ...
-
为什么git stash让我的工作目录处于脏状态?(Why is git stash leaving my working directory in a dirty state?)[2024-02-22]
我不确定它是不是真的是你的情况,但最近我的同事git repo(Windows,ASP.NET MVC项目)的行为与我的同事已将.gitattributes文件推送到 github后,其中行结束设置已更改(例如从as-is到checkout windows-style,commit linux-style )。 所以git stash没有产生任何错误,但同时没有产生任何影响(修改后的文件出现在状态并保持在那里直到我提交它们)。 删除.gitattributes对我有用 。 I'm not sure if i ... -
刚遇到同样的问题。 似乎git stash pathspecs必须相对于存储库根目录(顶部) - 而不是当前正在工作的目录。 由于git status (“与许多其他Git命令不同”)显示路径“ 相对于当前目录,如果您在子目录中工作”,这似乎容易混淆。 因此,如果你当前的工作目录是〜/ dev / git_project_root / subdir,你需要使用: git stash -p -- subdir/AB.Dir1/Dir2/DestinationHierarchyCreator.cs (通配符g ...
-
正如DaveW所说,问题来自core.fscache=true设置。 这是一个仅限Windows的设置,可以启用文件系统缓存,以减轻某些Windows文件系统操作的速度。 以下是从提交消息Win32中提取的描述:在mingw的lstat和dirent实现下面添加一个缓存 : 由于lstat仿真速度慢(git为索引中的每个文件调用lstat一次),因此在Windows上检查工作树状态非常慢。 Windows操作系统API在扫描整个目录的状态方面似乎比检查单个文件要好得多。 添加一个使用lstat数据缓存的ls ...
-
您可以轻松恢复丢失的存储(您可以在屏幕上看到它的修订版)。 但这没用。 git stash不保存新文件(在你的情况下为foo /目录内容),但它在退出之前执行git reset --hard 。 并恢复工作目录,有效地删除foo/ 。 我建议使用某种删除文件恢复工具。 PS发送了一封关于这个的电子邮件到git邮件列表。 他们说这是一个bug,因为git stash旨在成为一个安全的命令。 但是现在只需使用git stash -u 。 这样git就可以保存所有(甚至未跟踪)文件 You can easily ...
-
Git子模块是-dirty?(Git submodules are being -dirty?)[2022-03-13]
-dirty后缀表示子模块已更改。 做这个: cd wp-content/plugins/advanced-custom-fields 然后 git status 并且您将看到哪些更改导致您的子模块变脏。 the -dirty suffix means the submodule has changed. do this: cd wp-content/plugins/advanced-custom-fields then git status and you'll see what changes ...