我有一个没有任何主键和日期修改/时间戳的表。该表就像一个事务表,不断保存所有数据(无删除/更新)。
我现在的问题是,每次运行增量加载时,我都想将数据注入 HDFS,而无需再次加载整个表。
如果我的表有主键,下面的代码会获取导入到 HDFS 的最新行。
sqoop job \
--create tb_w_PK_DT_append \
-- \
import \
--connect jdbc:mysql://10.217.55.176:3306/SQOOP_Test \
--username root \
--incremental append \
--check-column P_id \
--last-value 0 \
--target-dir /data \
--query "SELECT * FROM tb_w_PK_DT WHERE \$CONDITIONS" \
-m 1;
Run Code Online (Sandbox Code Playgroud)
无需修改任何主键或日期即可获取最新导入数据的任何解决方案。
我正在创建一个程序来检查字符串中的重复字母.
例如:
wooooooooooow
happpppppppy
这是我的代码:
string repeatedWord = "woooooooow";
for (int i = 0; i < repeatedWord.Count(); i++)
{
if (repeatedWord[i] == repeatedWord[i+1])
{
// ....
}
}
Run Code Online (Sandbox Code Playgroud)
代码可以工作,但它总是会出错,因为最后一个字符[i + 1]是空的/ null.
错误是索引超出了数组的范围.
对此有何解决方案?
我正在创建一个程序来检查单词是否是简化单词(txt,msg等),如果它被简化,它会找到正确的拼写,如txt = text,msg = message.我在c#中使用了NHunspell建议方法,它提出了所有可能的结果.
问题是如果我输入"txt"结果是text,tat,tot等我不知道如何选择正确的单词.我使用Levenshtein Distance(C# - 比较字符串相似性)但结果仍然是1.
输入:txt结果:text = 1,ext = 1 tit = 1
你能帮我解释如何获得简化单词的含义或拼写正确吗?示例:msg
我正在使用正则表达式来解析HTML,但有些文章说HTMLAgilityPack要容易得多.对我来说最大的问题是如何解析这个示例的html(twitter):
这个HTML代码:
<p class="js-tweet-text tweet-text"> What an awesome day! Adventure nanaman kahapon <a href="http" data-query-source="hashtag_click" class="twitter-hashtag pretty-link js-nav" dir="ltr"><s>#</s><b><strong>ondoy</strong></b></a> <a href="https://twitter.com/search?q=%23eurotel&src=hash" data-query-source="hashtag_click" class="twitter-hashtag pretty-link js-nav" dir="ltr"><s>#</s><b>eurotel</b></a> <a href="https://twitter.com/search?q=%23retail&src=hash" data-query-source="hashtag_click" class="twitter-hashtag pretty-link js-nav" dir="ltr"><s>#</s><b>retail</b></a> <a href="https://twitter.com/search?q=%23family&src=hash" data-query-source="hashtag_click" class="twitter-hashtag pretty-link js-nav" dir="ltr"><s>#</s><b>family</b></a></p>
Run Code Online (Sandbox Code Playgroud)
我希望它像这样输出:
"多么棒的一天!冒险nanaman kahapon #ondoy #eurotel #retail #family"
我如何解析该HTML代码.我现在正在使用正则表达式,但它显示其他标签,如href.
这是我的正则表达式代码.
WebClient web = new WebClient();
string html = web.DownloadString(filename);
MatchCollection m1 = Regex.Matches(html, "<p class=\"js-tweet-text tweet-text\">\\s*(.+?)\\s*</p>", RegexOptions.Singleline);
foreach (Match m in m1)
{
MessageBox.Show(m.Groups[1].Value);
}
Run Code Online (Sandbox Code Playgroud) 我需要比较定义的长度和 SQL 中的实际值。
例如:
+--------------|---------------------|-------------+
COLUMN_NAME | DefinitionMaxLength |ActualLength
+--------------|---------------------|-------------+
COL 1 | 20 | 25
COL 2 | 30 | 26
Run Code Online (Sandbox Code Playgroud)
这是我获取表元数据的 SQL。
SELECT COLUMN_NAME, CHARACTER_MAXIMUM_LENGTH AS DefinitionMaxLength
from INFORMATION_SCHEMA.COLUMNS as COL
WHERE COL.DATA_TYPE ='varchar' AND COL.TABLE_NAME='TableSRC'
Run Code Online (Sandbox Code Playgroud)
我现在的问题是如何获得实际表的最大长度。我用过Max(Len(COLUMN_NAME)),但这不起作用。
SELECT TABLE_NAME, COLUMN_NAME, CHARACTER_MAXIMUM_LENGTH AS DefinitionMaxLength, MAX(LEN(COLUMN_NAME))
from INFORMATION_SCHEMA.COLUMNS as COL
WHERE COL.DATA_TYPE ='varchar' AND COL.TABLE_NAME='TableSRC'
Run Code Online (Sandbox Code Playgroud)
COLUMN_NAME基于元数据的输出。